阶段1 语言基础+高级_1-3-Java语言高级_04-集合_06 Set集合_2_哈希值

没有重写就是十进制的整数,重写了想返回多少就是多少。




创建Person类,没有写继承关系,默认会继承Object类

打开Object这个类

找到HashCode这个方法。就这一行代码。甚至都没有方法体





返回的是十进制的整数

再新建一个p2这两个输出的结果不一样

Object类里面的toString方法。后面获取的就是HashCode的值

所以说输出的结果上面两行和下面两行,他们俩是一样的

所以我们平时说的对象的地址值就是HashCode的地址值

重写HashCode的方法


那么输出的就是1


实际的物理地址不相等

String的hashCode

字符串类也重写了HashCode方法




虽然字符串不一样 但是hash值是一样的





 

posted @ 2019-07-24 15:50  高山-景行  阅读(123)  评论(0编辑  收藏  举报