《Effective Java》阅读笔记

第2章

第1条:用静态工厂方法代替构造器

[1] 辅助理解静态工厂的文章,关于 Java 的静态工厂方法,看这一篇就够了!
[2] 单例模式:Hi,我们再来聊一聊Java的单例吧

第2条:遇到多个构造器参数时要考虑使用构建器(即builder模式)

辅助理解建造者模式的文章,Java 大白话讲解设计模式之 – 建造者(Builder)模式
还需要学习下UML图,Java 大白话讲解设计模式之 – UML类图

第3章

第14条:考虑实现Comparable接口

(1)若一个类实现了comparable接口,则意味着该类支持排序。如String、Integer自己就实现了Comparable接口,可完成比较大小操作。
一个已经实现comparable的类的对象或数据,可以通过Collections.sort(list) 或者Arrays.sort(arr)实现排序。通过Collections.sort(list,Collections.reverseOrder());对list进行倒序排列。

(2)Comparator是一个专用的比较器,当这个对象不支持自比较或者自比较函数不能满足要求时,可写一个比较器来完成两个对象之间大小的比较。
Comparator体现了一种策略模式(strategy design pattern),就是不改变对象自身,而用一个策略对象(strategy object)来改变它的行为。
comparable相当于内部比较器。comparator相当于外部比较器。

好好理解两个链接。
参考链接1:Comparable与Comparator对比
参考链接2:java Comparable 和Comparator详解及 区别(附代码)

第7章

第42条:Lambda优先于匿名类

你可能感兴趣的:(java)