Scala的转换使用无限制的通配符将集合类型化为Java,集合<?> [英] Convertion of Scala typed collection to Java with an unbounded wildcard, etc. Collection<?>
本文介绍了Scala的转换使用无限制的通配符将集合类型化为Java,集合<?>的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问题:
需要在Scala中实现第三方Java库的接口
...
... 收集和LT;?> getItemPropertyIds()
...
我的解决方案是使用
...<这里是可以使用的> .asInstanceOf [java.util.Collection [_]]
val props:Map [Object,Property] = ...
override def getItemPropertyIds()= props.keys.asInstanceOf [java.util.Collection [_]]
是否有更好的解决方案?也许有Predef的含义?
解决方案
我也试试这个:
import scala.collection.JavaConversions
...
override def getItemPropertyIds()= JavaConversions.asCollection(props.keys)
Problem: Need to implement interface from 3rd party Java library in Scala
...
Collection<?> getItemPropertyIds()
...
My solution is to use
...<here goes Iterable>.asInstanceOf[java.util.Collection[_]]
val props:Map[Object,Property] = ...
override def getItemPropertyIds()=props.keys.asInstanceOf[java.util.Collection[_]]
Is there better solution? Maybe with Predef's implicits?
解决方案
I try also this:
import scala.collection.JavaConversions
...
override def getItemPropertyIds() = JavaConversions.asCollection(props.keys)
这篇关于Scala的转换使用无限制的通配符将集合类型化为Java,集合<?>的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文