【判断】两个对象值相同(x.equals(y) == true),但却可有不同的hash code。
错的的,在重写equals方法时,一定要重写hashcode方法。判断两个对象的值是否相等的步骤:
先判断是否为null,如果 为null,直接返回false;再次判断是否是同一个类的对象。如果不是同一个类的对象,就没必要比的了(比如:人和一台电脑来比根本就没有意义),直接返回false;再次比较hashcode值是否相等。相等才返回true,否则返回false;从这个逻辑可以看出,两个对象的equals相等,一定有相同的hashcode值。反过来说就对了。有相同的hashcode值,这两个对象不一定相等....
版权说明
本文地址:https://blog.gengchao.cn/post-117.html
未标注转载均为本站远程,转载请注明文章出处:


发表评论