我正在尝试覆盖hashCode,我知道有一些方法可以实现它,但我想知道我是否可以这样做:
String x;
String y;
(Code)
@Override
public int hashCode(){
return ((x !=null ? x.hashCode() : 7)+ (y!=null ? y.hashCode() : 7));
}
答案 0 :(得分:4)
有更好的方法来组合多个对象的哈希码:
return Arrays.hashCode(new String[] {x, y});
或
return Objects.hash(x, y);
答案 1 :(得分:3)
根据参数确定的任何是hashCode()
的有效实现。您的实现不一定是良好的哈希函数,但它是一个有效的哈希函数。