问题: 需要在Scala中实现第三方Java库的接口
...
Collection<?> getItemPropertyIds()
...
我的解决方案是使用
...<here goes Iterable>.asInstanceOf[java.util.Collection[_]]
val props:Map[Object,Property] = ...
override def getItemPropertyIds()=props.keys.asInstanceOf[java.util.Collection[_]]
有更好的解决方案吗?也许是因为Predef的暗示?
答案 0 :(得分:1)
创建一些scala.Iterable,使用scala.collection.asJavaCollection()(可以隐式)转换为java.util.Collection。
答案 1 :(得分:1)
我也试着这个:
import scala.collection.JavaConversions
...
override def getItemPropertyIds() = JavaConversions.asCollection(props.keys)