DESKTOP-LODEUIH_20200827-罗祥
日志
问题
问题:
java String s = "abc" ;
System.out.println( System.identityHashCode( s ) );
System.out.println( s.hashCode() );
System.identityHashCode与s.hashCode() 返回的hash值为什么不一样?
来源:老师上课时讲到,自己没听清楚。
解决:
public static int identityHashCode(Object x)
返回给定对象的哈希码,该代码与默认的方法 hashCode() 返回的代码一样,无论给定对象的类是否重写 hashCode()。null 引用的哈希码为 0。
public int hashCode()
hashCode()方法是顶级类Object类的提供的一个方法,所有的类都可以进行对hashCode方法重写。这时hash值计算根据重写后的hashCode方法计算
吐槽
莫名其妙的感冒真影响心情,希望明天能好吧!
点赞