Java 使用多个属性重写hashCode()
我正在尝试重写hashCode,我知道有x种方法可以实现它,但我想知道我是否可以这样做:Java 使用多个属性重写hashCode(),java,Java,我正在尝试重写hashCode,我知道有x种方法可以实现它,但我想知道我是否可以这样做: String x; String y; (Code) @Override public int hashCode(){ return ((x !=null ? x.hashCode() : 7)+ (y!=null ? y.hashCode() : 7)); } 有更好的方法可以组合多个对象的哈希代码: return Arrays.hashCode(new String[] {x, y});
String x;
String y;
(Code)
@Override
public int hashCode(){
return ((x !=null ? x.hashCode() : 7)+ (y!=null ? y.hashCode() : 7));
}
有更好的方法可以组合多个对象的哈希代码:
return Arrays.hashCode(new String[] {x, y});
或
参数方面的任何确定性都是
hashCode()
的有效实现。您的实现不一定是一个好的散列函数,但它是一个有效的散列函数。谢谢,但是否可以像我那样实现它?对象。散列(x,y)
您指的是多个对象。。。它们不是数组
return Objects.hash(x, y);