加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

将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集合实例。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读