有没有办法在Scala中实现以下Java接口(interface)?
public interface Request {
void acceptLanguage(Locale... locales);
void acceptLanguage(String... locales);
}
我试过了:
override def acceptLanguage(locales: Locale*) : Unit =
override def acceptLanguage(locales: String*) : Unit =
但这给了我:
error: double definition:
have same type after erasure
我尝试了这个:
override def acceptLanguage(locales: Locale*) (implicit Manifest[Locale]) : Unit = {}
override def acceptLanguage(locales: String*) (implicit Manifest[String]): Unit = {}
但这给出了不同的签名,因此覆盖失败
我正在使用2.9.2版。
最佳答案
使用@varargs
批注:
override def acceptLanguage(@varargs locales: Locale*) : Unit =
override def acceptLanguage(@varargs locales: String*) : Unit =