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

时间:2018-04-24 19:52:01

标签: 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

但我想要的是Set[Long],而不是Set[java.lang.Long]。当我尝试这个时:

val a: java.util.HashSet[java.lang.Long] =  javaFunction(...)
val b: Set[Long] = a.asScala.toSet

我得到:Expression of type scala.collection.immutable.Set[java.lang.Long] doesn't conform to expected type scala.collection.Set[Long]

为什么会这样,我如何获得Set[Long]

1 个答案:

答案 0 :(得分:6)

简单地:

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