《Effective Java》(02):对于所有对象都通用的方法

本篇为《Effective Java》读书笔记系列02(多图预警!)。

笔记

8

8.2

9

10

11

12

补充

条目11

书中介绍了从Java1.5发行版开始,在数组上调用clone返回的数组,其编译时类型与被克隆数组的类型相同,也就是一般情况调用super.clone()需要转型。Object.clone()是特殊的,实现上也不是纯的Java代码。clone的原理可以想象成拿到this引用再通过反射去找对象实例的所有字段,然后逐一拷贝。(参考RednaxelaFX的答案);

条目12

Comparable和Comparator有所区别,在本人分析TreeMap源码的时候,两个交杂出现,前者需要实现类在内部实现compareTo()方法(内部比较器),而后者多是将实现类放置于策略模式中(外部比较器);