gpt4 book ai didi

scala - 将 Scala Set 转换为 Java (java.util.Set)?

转载 作者:行者123 更新时间:2023-12-03 10:14:59 24 4
gpt4 key购买 nike

我在 Scala 中有一个 Set(我可以在创建 Set 时选择任何实现。我正在使用的 Java 库需要一个 java.util.Set[String]。

以下是在 Scala 中执行此操作的正确方法(使用 scala.collection.jcl.HashSet#underlying):

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 类都有一个 underlying提供包装的 Java 集合实例的属性。

关于scala - 将 Scala Set 转换为 Java (java.util.Set)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2233576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com