11

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

4

1 回答 1

8

使用@varargs注释:

override def acceptLanguage(@varargs locales: Locale*) : Unit =
override def acceptLanguage(@varargs locales: String*) : Unit =
于 2012-11-14T23:35:57.367 回答