什么是等效的
Scala构造函数(以创建不可变的HashSet)到
Java
new HashSet<T>(c)
其中c是Collection <延长T>. 我可以在HashSet对象中找到所有内容.
解决方法
答案有两个部分.第一部分是采用T *的Scala变量参数方法是使用Seq [T]的方法.您告诉Scala将Seq [T]作为参数列表,而不是使用“seq:_ *”单个参数.
第二部分是将集合[T]转换为Seq [T].在Scala的标准库中没有一般的内置方法,但是一个非常简单(如果不是有效)的方法是通过调用toArray.这是一个完整的例子.
scala> val lst : java.util.Collection[String] = new java.util.ArrayList lst: java.util.Collection[String] = [] scala> lst add "hello" res0: Boolean = true scala> lst add "world" res1: Boolean = true scala> Set(lst.toArray : _*) res2: scala.collection.immutable.Set[java.lang.Object] = Set(hello,world)
注意scala.Predef.Set和scala.collection.immutable.HashSet是同义词.
原文地址:https://www.jb51.cc/java/124671.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。