
Effective java
二狗的程序人生
记录,方便查阅
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
读书笔记之《effective java》---遇到多个构造器参数时要考虑用构建器
静态工厂和构造器共同的局限性:不能很好地扩展到大量的可选参数。 例子:包装食品类(必需:每份的含量,每罐的含量及每份的卡路里;还有超过20个可选域:总脂肪量,饱和脂肪量,转化脂肪,胆固醇,钠等微量元素) 一、重叠构造器 这种用法在重构中也有用到,类似的思想。 @Data public class NutritionFacts { private int servingSize;/...原创 2019-01-03 17:54:32 · 198 阅读 · 0 评论 -
读书笔记之《effective java》----静态工厂方法代替构造器
《effectiv java》是一本经典的java类的书籍,它可以教我更加高效的编写代码。 静态工厂方法与构造器不同的第一大优势在于,它们有名称。 ----就像标识一样,可以通过名字,很快的找到它,把软件想象成一个家庭,用它的时候,直接用名字叫“嘿,老三,我要用你的刀和菜板”,用到二胖的时候就叫“嘿,二胖,我要用你的锅和碗”。 一个类只能有一个带有指定签名的构造器 。如果想要另一个构造...原创 2019-01-03 10:57:16 · 278 阅读 · 0 评论 -
读书笔记之《effective java》----通过私有构造器强化不可实例化的能力
书好难读,有时候代码里用不到的,根本没办法理解书在说啥。 有三个类:java.lang.Math、java.util.Arrays和java.util.Collections 这三个类都不能被new(实例化) Math和Arrays:把基本类型的值或数组类型上的相关方法组织起来,如果把这个类做成interface 强制该类不能被new是行不通的。 public class Colle...原创 2019-01-22 11:45:28 · 286 阅读 · 0 评论 -
读书笔记之《effective java》----避免创建不必要的对象
String str = new String("abc"); ==> String str = "abc"; 一、错误示范和正确用法 public class Person { // DON'T DO THIS! public boolean isBabyBoomer_no(Date birthDate) { Calendar calendar =...原创 2019-01-22 14:02:57 · 156 阅读 · 0 评论 -
读书笔记之《effective java》----始终覆盖toString
Object默认的toString方法的实现。 public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } ===》全类名@十六进制的散列码 例如默认的toString的结果为:“PhoneNumber@163b91”,而我更想看到的是“010-...原创 2019-02-10 16:54:02 · 147 阅读 · 0 评论