簡體   English   中英

使用無界通配符等將Scala類型集合轉換為Java <?>

[英]Convertion of Scala typed collection to Java with an unbounded wildcard, etc. Collection<?>

問題:需要在Scala中實現第三方Java庫的接口

...

Collection<?> getItemPropertyIds()

...

我的解決方案是使用...<here goes Iterable>.asInstanceOf[java.util.Collection[_]] to ...<here goes Iterable>.asInstanceOf[java.util.Collection[_]]

 val props:Map[Object,Property] = ...
 override def getItemPropertyIds()=props.keys.asInstanceOf[java.util.Collection[_]]

有更好的解決方案嗎? 也許與Predef的暗示?

創建一些scala.Iterable,使用scala.collection.asJavaCollection()(可以隱式)轉換為java.util.Collection。

我也嘗試這個:

import scala.collection.JavaConversions
...
override def getItemPropertyIds() = JavaConversions.asCollection(props.keys)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM