我有這樣的Java接口斯卡拉互操作與Java重寫方法與對象
public interface IFoo {
List<Map<String, Object>> getMaps() throws Exception;
}
我怎麼可以重寫此方法?我想:
import scala.collection.JavaConverters._
class Foo extends IFoo{
override def getMaps: util.List[util.Map[String,AnyRef]] = {
List(Map("A" -> "B")).asJava
}
}
,但我得到這個編譯錯誤
重寫方法getMaps型 ()的java.util.List [java.util.Map [字符串,對象特徵的IFoo ]]; [錯誤]方法 getMaps有不兼容的類型
我可以這樣做:
import scala.collection.JavaConverters._
class Foo extends IFoo{
override def getMaps: util.List[util.Map[String,AnyRef]] = {
List(Map("A" -> "B".asInstanceOf[AnyRef)).asJava
}
}
但它是正確的方法是什麼?