有没有办法在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 =

08-16 13:03