转换kotlin/java设置为scala不可变



我想使用kotlin/java代码将现有的kotlin/java集合转换为scala不可变集合。

scala.collection.JavaConversions。asScalaSet只给我一个可变集合。

必须这样做,因为我继承了另一个repo上的scala类,并且不想将scala包和插件插入到我的项目中。

一个简单的答案是:你不能。Java/Kotlin集合本质上是可变的,而Scala不可变集合在内部有一个完全不同的实现,所以它们不允许自由地从一种转换到另一种。

现在您有两个选择:首先,您可以使用更通用的接口(例如scala.collection.Set),或者,第二,您可以创建一个新的不可变的Scala集合并将所有元素放入其中:scala.collection.immutable.HashSet().concat(yourExistingCollection)

相关内容

  • 没有找到相关文章

最新更新