有没有办法在 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 =
关于java - 在 Scala 中使用重载的 vargs 方法覆盖 Java 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13389121/