有没有办法在Scala中实现以下Java接口?
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。
答案 0 :(得分:8)
使用@varargs
注释:
override def acceptLanguage(@varargs locales: Locale*) : Unit =
override def acceptLanguage(@varargs locales: String*) : Unit =