题
如何生成用于一个字节数组的散列值,在J2ME?
这并不一定是非常非常安全的,但它应该是快速的。
解决方案
正如他在有效的Java书建议的乔希布洛赫:
public int hashCode() {
int result = 17;
for (int i = 0; i < array.length; i++) {
result = 31*result + (int)array[i];
}
return result;
}
其他提示
如果您已经有的Apache Commons Lang中的依赖你不妨使用的 HashCodeBuilder
:
new HashCodeBuilder().append(bytes).toHashCode();
不隶属于 StackOverflow