Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用多个属性重写hashCode()_Java - Fatal编程技术网

Java 使用多个属性重写hashCode()

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});

我正在尝试重写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});


参数方面的任何确定性都是
hashCode()
的有效实现。您的实现不一定是一个好的散列函数,但它是一个有效的散列函数。

谢谢,但是否可以像我那样实现它?
对象。散列(x,y)
您指的是多个对象。。。它们不是数组
return Objects.hash(x, y);