以下是我失败的一些尝试:
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中的这个guava类,还需要一些额外的魔法吗?
UPDATE0:在重要的情况下,我使用Scala 2.11.2和Guava 18.0!
答案 0 :(得分:1)
HashMultiset[Int].create()
的问题在于,虽然HashMultiset
是一个带有类型参数的类,但create
是一个静态方法。调用静态方法时,不要在类名上使用类型参数。因此,HashMultiset.create()
应该足够了。我假设create
方法 具有类型参数,因此编写HashMultiset.create[Int]()
是有效的。