如何将java.util.HashSet[java.lang.Long]转换为Scala Set[Long]

如何将java.util.HashSet[java.lang.Long]转换为Scala Set[Long],scala,Scala,我正在使用: import scala.collection.JavaConverters._ import scala.collection.Set 这项工作: val a: java.util.HashSet[java.lang.Long] = javaFunction(...) val b: Set[java.lang.Long] = a.asScala.toSet 但是我想要的是一个集合[Long],而不是集合[java.lang.Long]。当我尝试这个: val a: java

我正在使用:

import scala.collection.JavaConverters._
import scala.collection.Set
这项工作:

val a: java.util.HashSet[java.lang.Long] =  javaFunction(...)
val b: Set[java.lang.Long] = a.asScala.toSet
但是我想要的是一个集合[Long],而不是集合[java.lang.Long]。当我尝试这个:

val a: java.util.HashSet[java.lang.Long] =  javaFunction(...)
val b: Set[Long] = a.asScala.toSet
我得到:scala.collection.immutable.Set[java.lang.Long]类型的表达式不符合预期的scala.collection.Set[Long]类型

这是为什么?我如何得到一个集合[长]?

简单地说:

import scala.collection.JavaConverters._
val b: Set[Long] = a.asScala.map(Long2long).toSet
简单地说:

import scala.collection.JavaConverters._
val b: Set[Long] = a.asScala.map(Long2long).toSet

很高兴它有帮助!很高兴它有帮助!