这是我的一些失败尝试:

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中的这个番石榴类,我还需要做一些其他的事情吗?

UPDATE0:我将Scala 2.11.2与Guava 18.0一起使用,以防万一!

最佳答案

HashMultiset[Int].create()的问题在于,尽管HashMultiset是带有类型参数的类,但create是静态方法。调用静态方法时,不要在类名上使用类型参数。因此,HashMultiset.create()应该足够了。我假设create方法确实具有类型参数,因此编写HashMultiset.create[Int]()是有效的。

10-01 03:35