本篇为《Effective Java》读书笔记系列02(多图预警!)。
笔记
补充
条目11
书中介绍了从Java1.5发行版开始,在数组上调用clone返回的数组,其编译时类型与被克隆数组的类型相同,也就是一般情况调用super.clone()需要转型。Object.clone()是特殊的,实现上也不是纯的Java代码。clone的原理可以想象成拿到this引用再通过反射去找对象实例的所有字段,然后逐一拷贝。(参考RednaxelaFX的答案);
条目12
Comparable和Comparator有所区别,在本人分析TreeMap源码的时候,两个交杂出现,前者需要实现类在内部实现compareTo()方法(内部比较器),而后者多是将实现类放置于策略模式中(外部比较器);