首页 > 解决方案 > 如何将 java.util.HashSet[java.lang.Long] 转换为 Scala Set[Long]

问题描述

我在用着:

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]

标签: scala

解决方案


简单地:

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

推荐阅读