scala - 如何创建 com.google.common.collect.HashBiMap

标签 scala guava

val map = com.google.common.collect.HashBiMap[String, Int].create()

编译错误

object com.google.common.collect.HashBiMap is not a value

如何创建 com.google.common.collect.HashBiMap 的实例?

最佳答案

类(class)HashBiMap有两个泛型类型参数。它的伴生对象(共享名称 HashBiMap 的对象)没有类型参数,因为它是一个对象,而不是一个类。当您调用HashBiMap.create时,您正在调用 create伴随对象上的方法。因此,表达式 HashBiMap[String, Int].create没有任何意义,因为 HashBiMap指的是未参数化的对象。它的create方法,确实采用两个类型参数。所以HashBiMap.create[String, Int]()做你想做的事。它返回 HashBiMap[String, Int] .

如果您更熟悉 Java:您给出的表达式类似于 Arrays<Integer>.asList(1,2,3) ,而正确的表达式是 Arrays.<Integer>asList(1,2,3) .

关于scala - 如何创建 com.google.common.collect.HashBiMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20724355/

相关文章:

eclipse - Scala IDE 和 Apache Spark——在构建路径中发现不同的 Scala 库版本

Scala - 对重载定义的不明确引用 - 使用可变参数

scala - 如何在 Spark 中获取数组列的所有组合?

java - 计算Java 1.4中两个列表的不对称差异

java - 为什么 Guava 抽象多重集不公开?

java - 使用 Guava 从 TreeMap 中提取最后一个 x 值

java - Scala:更改sbt中的文件夹

scala - Scala 函数是否可以编写为获取任何函数并以相反的参数返回该函数?

hadoop - 关于 Guava jar 的问题

java - 我可以使用 Guava 的 ComparisonChain 以特殊方式处理 null 字段吗?