0

hashCode我应该如何为具有 的类定义一个3 byte[]

public class Key implements Comparable<Key> {
    private static final long serialVersionUID = 1L;
    private byte[] subKey1;
    private byte[] subKey2;
    private byte[] subKey3;

    public int hashCode() {  
    }

}
4

2 回答 2

0

我建议你在谷歌上搜索或阅读 Joshua Bloch 的书“有效的 java”,其中包含一个很好的算法如何做到这一点。

于 2013-03-22T12:54:00.233 回答
0

简单的哈希码可以是组合所有 3 字节数组的长度并将其用作哈希码。

要生成更复杂的,您可以读取每个字节数组的第一个和最后一个元素,转换为整数值并将它们组合以生成哈希码。

我建议您使用该值,因为如果第一个值和最后一个值相同,那么这两个类很可能不相似。

于 2013-03-22T12:52:20.913 回答