super.equals(other)
调用hashCode散列码(hash code)是由对象导出的一个整型值 。散列码是没有规律的 。如果x和y是两个不同的对象 , x.hashCode()
与y.hashCode()
基本上不会相同 。
如果重新定义了equals方法 , 就必须为用户可能插入散列表的对象重新定义hashCode
方法hashCode方法应该返回一个整数(也可以是负数) , 并且equals与hashCode的定义必须相容:如果x.equals(y)
发那会true , 那么x.hashCode()
就必须与y.hashCode()
返回相同的值 。例如 , 如果定义Employee.equals
比较员工的ID , 那么hashCode方法就需要散列ID , 而不是员工的姓名或存储地址 。
toString在Object中有一个重要的方法 , 就是toString方法 , 它会返回表示对象值的一个字符串 。默认打印的是类名+哈希编码
的形式 , 由于这种形式正常人看不懂 , 所以我们需要重写这个方法 , 打印一些容易看都懂的描述信息 。一般调用方法有2种:
- 当一个引用对象和字符串作连接的时候 , 会自动调用
toString
方法 - 直接打印引用对象
toString
方法 , 又由于Object
类是所有类的超类 , 所以我们会调用Object
中的toString
方法 , 但是默认的打印格式是:类名+哈希编码
, 所以我们需要重写toString
方法 , 最后这里强烈建议为自定义的每一个类添加toString方法
【15 JavaObject类】
经验总结扩展阅读
- 亲朋打鱼有什么技巧
- 湖南花鼓调有多少种
- 塑料材料的分类有哪些种类
- 中国是什么类型的国防
- 破坏大自然给人类造成的危害
- 面向制造企业普适性ERP、MES类产品为什么那么难找?
- C#/VB.NET 读取条码类型及条码在图片中的坐标位置
- 神奇宝贝的种类以及分辨
- 主营业务成本属于什么类科目
- 求穿越农家女一类的完结小说