如何在 J2ME 中为字节数组生成哈希值?
它不必非常安全,但应该很快。
正如 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;
}
如果您已经依赖于Apache Commons Lang,您也可以使用HashCodeBuilder
:
new HashCodeBuilder().append(bytes).toHashCode();