【发布时间】:2015-11-01 12:58:01
【问题描述】:
我有这个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
}
}
但我收到此编译错误
在 IFoo 类型的 trait IFoo 中覆盖方法 getMaps ()java.util.List[java.util.Map[String,Object]]; [错误] 方法 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
}
}
但这是正确的方法吗?
【问题讨论】:
标签: java scala scala-java-interop