effective读书笔记2020/02/19

覆盖object类的equals,hashcode,toString,clone,finalize方法时需要遵守通用约定

8.覆盖equals时请遵守通用约定

在以下条件时,选择不覆盖equals,令一个实例仅与自身相同
在这里插入图片描述
值类则需要覆盖,除了枚举类型意外。
通用原则:
在这里插入图片描述
Timestamp类对Date类进行了拓展,增加了nanoseconds域,违反了对称性。
Timestamp发表了免责声明,告诫不要混合使用Date和Timestamp对象
在这里插入图片描述
在这里插入图片描述

9. 覆盖equals时总要覆盖hashCode

约定内容
在这里插入图片描述
在这里插入图片描述
生成hashcode
在这里插入图片描述

始终要覆盖toString

在这里插入图片描述

11.谨慎地覆盖clone

在这里插入图片描述
clone的对象!=本身,但equals本身
在这里插入图片描述

12. 考虑实现Comparable接口

compareTo方法并没有在Object中声明,但它是Comparable中的唯一方法。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值