hashcode、equals和==
hashcode、equals和==
-
hashcode
注意JDK对于hashcode有约定:如果两个对象用equals判断是相等的,那么他们的hashcode必须是相等的。这是JDK的要求,否则在哈希容器中就会出问题。所以这就是为什么重写hashcode必须同时重写equals
-
==如果不重写的话,对于基本类型判断的是值是否相等,对于引用类型判断的是地址是否相等
-
equals在object中的实现默认就是调用,但是许多对象都只重写了equals而不重写,从而实现用equals判断值是否相等,而用==判断地址是否相等的效果

浙公网安备 33010602011771号