我尝试使用google guava中的sipHash24()
哈希函数,但它出现了以下错误,
对于Hashing类型
,方法sipHash24()
未定义
我已将guava依赖项包含在我的pom.xml中
<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构建项目。
答案 0 :(得分:1)
听起来你的类路径上有两个版本的Guava,一个有Hashing.sipHash24()
(&gt; = Guava 15.0),另一个没有它(&lt; Guava 14.0)。
答案 1 :(得分:0)
您需要一个值来获取其哈希输出。因此,每个方法(例如putLong(long l)
,putString(String s)
....都需要输入(您计算其哈希值的输入)。
此外,您可以使用最简化的方法,因此您可以重用HashFunction
并在需要时输入更少的代码。
HashFunction sipHash = com.google.common.hash.Hashing.sipHash24();
String hash = sipHash.hashLong(3213123L).toString();
请确保您使用的是最新的Guava版本。