scala - 如何将 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]
?
解决方案
简单地:
import scala.collection.JavaConverters._
val b: Set[Long] = a.asScala.map(Long2long).toSet
推荐阅读
- javascript - How to append to Map JavaScript?
- json - Use jq to filter json with regex, and the rest objects split into two separate chunks, containing half of the remaining objects each
- android - apk 符号-> 错误:com.android.build.gradle.internal.transforms.ProGuardTransform.transform
- sql - How to find if records match or not
- sql-server - 在 SQL 中使用 smallint 和 datetime 数据类型计算日期差
- java - 如何将spring 2中的AuthenticationProcessingFilterEntryPoint转换为spring 4
- php - Update values of array if present in other array
- reactjs - Why does useCallback with no array args not cause the useState update function to fire?
- r - 在调用两个数据集时创建新列
- html - Angular component that takes HTML code as input (the sequel)