Scala 如何创建com.google.common.collect.HashBiMap
给出编译错误Scala 如何创建com.google.common.collect.HashBiMap,scala,guava,Scala,Guava,给出编译错误 val map = com.google.common.collect.HashBiMap[String, Int].create() 如何创建com.google.common.collect.HashBiMap的实例?我认为这只是类型参数的放置位置问题。试一试 object com.google.common.collect.HashBiMap is not a value 类HashBiMap有两个泛型类型参数。它的伴生对象(共享名称HashBiMap)没有类型参数,因为
val map = com.google.common.collect.HashBiMap[String, Int].create()
如何创建
com.google.common.collect.HashBiMap的实例?
我认为这只是类型参数的放置位置问题。试一试
object com.google.common.collect.HashBiMap is not a value
类
HashBiMap
有两个泛型类型参数。它的伴生对象(共享名称HashBiMap
)没有类型参数,因为它是一个对象,而不是一个类。当您调用HashBiMap.create
时,您正在对伴生对象调用create
方法。因此,表达式HashBiMap[String,Int].create
没有任何意义,因为HashBiMap
引用的是未参数化的对象。它的create
方法采用两个类型参数。所以,HashBiMap.create[String,Int]()
做你想做的事。它返回一个HashBiMap[String,Int]
如果您更熟悉Java:您给出的表达式类似于
Arrays.asList(1,2,3)
,而正确的表达式应该是Arrays.asList(1,2,3)
是的,我在Java中似乎总是犯同样的错误:至少Scala的语法更加一致(类型总是跟在你要参数化的东西后面)。这是有意义的,因为object
没有类型参数,但是方法有。
val map = HashBiMap.create[String, Int]()