将Scala Set转换为Java(java.util.Set)?
发布时间:2020-12-16 09:30:08 所属栏目:安全 来源:网络整理
导读:我在Scala中有一个Set(我可以选择任何实现,因为我正在创建Set。我正在使用的Java库需要一个java.util.Set [String]。 以下是在Scala中执行此操作的正确方法(使用scala.collection.jcl.HashSet#underlyinges): import com.javalibrary.Animalsvar classes =
我在Scala中有一个Set(我可以选择任何实现,因为我正在创建Set。我正在使用的Java库需要一个java.util.Set [String]。
以下是在Scala中执行此操作的正确方法(使用scala.collection.jcl.HashSet#underlyinges): import com.javalibrary.Animals var classes = new scala.collection.jcl.HashSet[String] classes += "Amphibian" classes += "Reptile" Animals.find(classes.underlying) 它似乎工作,但由于我是Scala的新手,我想知道这是否是首选方式(我尝试任何其他方式我得到类型不匹配错误): error: type mismatch; found : scala.collection.jcl.HashSet[String] required: java.util.Set[_] 解决方法
如果您询问Scala 2.8,则Java集合互操作性由scala.collection.JavaConversions提供。在这种情况下,您需要JavaConversions.asSet(…)(每个方向都有一个,Java – > Scala和Scala – > Java)。
对于Scala 2.7,包装Java集合的每个scala.collection.jcl类都有一个底层属性,它提供了包装的Java集合实例。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |