如何在J2ME中为字节数组生成哈希值?
它不一定非常安全,但它应该很快。
答案 0 :(得分:3)
正如Josh Bloch在他的Effective Java书中所建议的那样:
public int hashCode() {
int result = 17;
for (int i = 0; i < array.length; i++) {
result = 31*result + (int)array[i];
}
return result;
}
答案 1 :(得分:-2)
如果您已经依赖Apache Commons Lang,那么您也可以使用HashCodeBuilder
:
new HashCodeBuilder().append(bytes).toHashCode();