如何使用 Scala 中的 guava class (HashMultiset)?
How can I use a guava class (HashMultiset) from Scala?
以下是我的一些失败尝试:
import com.google.common.collect.HashMultiset
// 1. This does not work!
// val foo1:HashMultiset[Int] = HashMultiset[Int].create()
// 2. Neither does this!
// val foo2:HashMultiset[Int] = new HashMultiset[Int]()
// foo1.add(1)
在第一种情况下,它抱怨 HashMultiset 不是一个值。
在第二种情况下,它表示 HashMultiset[Int] 没有构造函数。
为了使用来自 Scala 的番石榴class,我需要一些额外的魔法吗?
更新 0:我正在使用 Scala 2.11.2 和 Guava 18.0 以防万一!
HashMultiset[Int].create()
的问题在于,虽然 HashMultiset
是一个带有类型参数的 class,但 create
是一个静态方法。调用静态方法时,不要在 class 名称上使用类型参数。因此,HashMultiset.create()
应该足够了。我假设 create
方法 does 有一个类型参数,所以写 HashMultiset.create[Int]()
.
是有效的
以下是我的一些失败尝试:
import com.google.common.collect.HashMultiset
// 1. This does not work!
// val foo1:HashMultiset[Int] = HashMultiset[Int].create()
// 2. Neither does this!
// val foo2:HashMultiset[Int] = new HashMultiset[Int]()
// foo1.add(1)
在第一种情况下,它抱怨 HashMultiset 不是一个值。
在第二种情况下,它表示 HashMultiset[Int] 没有构造函数。
为了使用来自 Scala 的番石榴class,我需要一些额外的魔法吗?
更新 0:我正在使用 Scala 2.11.2 和 Guava 18.0 以防万一!
HashMultiset[Int].create()
的问题在于,虽然 HashMultiset
是一个带有类型参数的 class,但 create
是一个静态方法。调用静态方法时,不要在 class 名称上使用类型参数。因此,HashMultiset.create()
应该足够了。我假设 create
方法 does 有一个类型参数,所以写 HashMultiset.create[Int]()
.