我怎样才能使用Scala的guava类(HashMultiset)?

时间:2015-01-31 18:26:27

标签: java scala guava

以下是我失败的一些尝试:

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!

1 个答案:

答案 0 :(得分:1)

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