Hashing 类型未定义方法 sipHash24()

The method sipHash24() is undefined for the type Hashing

我试图使用 google guava 的 sipHash24() 散列函数,它给出了以下错误,

方法 sipHash24() 未定义类型 Hashing

我在我的 pom.xml 中加入了 guava 依赖项作为

<dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>19.0</version>
</dependency>

我尝试通过以下方式包含 sipHash24() -

Hasher metaHash = Hashing.sipHash24().newHasher();

而不是 sipHash24(),允许使用其他哈希值,例如 murmur3_128() 或 md5,但我只想使用 sipHash24(),因为它是给定列表中唯一的 64 位哈希值.

我能够在我的另一个项目中使用 sipHash,我在其中使用 gradle.

构建项目

您需要一个值来获取其哈希输出。因此,每个方法,例如 putLong(long l)putString(String s) .... 都需要一个输入(您计算其哈希值的输入)。

此外,您可以使用最简化的方法,因此您可以重复使用 HashFunction 并在需要时输入更少的代码。

HashFunction sipHash = com.google.common.hash.Hashing.sipHash24();
String hash = sipHash.hashLong(3213123L).toString();

请确保您使用的是最新的 Guava 版本。

听起来你的类路径上有两个版本的 Guava,一个有 Hashing.sipHash24()(>= Guava 15.0),一个没有(< Guava 14.0)。