码迷,mamicode.com
首页 > 编程语言 > 详细

《Effective Java》要点总结

时间:2016-04-17 17:24:44      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

1. 用静态工厂方法代替构造器。

2.遇到多个参数构造器时考虑用构建器。

3.用私有构造器或美剧型强化Singleton。

4.通过私有构造器强化不可实例化的能力。

5.避免创建不必要的对象。

   尽量使用String str = "XXX";而不是String str = new String("XXX");

6.消除过期的对象引用。

7.避免使用终结方法。

   终结方法的何时被调用或是否被调用是不确定的。

8.覆盖equals是要遵守通用规定。

   需要遵守自反性、对称性、传递性、一致性、非空性(x.equals(null)返回false)。

   Java库中的Timestamp对Date进行了扩展,增加了nanoseconds域,equals实现违反了对称性。不能将Timestamp和Date用于同一个集合中,会引起不正确的行为。

   提高equals的诀窍:a.使用==操作检查参数是否为这个对象的引用,如果比较操作可能很昂贵就值得这么做。b.使用instanceof操作检查参数是否为正确类型。c.把参数转换为正确的类型。d.覆盖equals是总要覆盖hashCode。e.不要企图让equals方法过于智能。f.不要将equals声明中的Object对象替换为其他类型。

9.覆盖equals时总要覆盖hashCode。

   

   

 

《Effective Java》要点总结

标签:

原文地址:http://www.cnblogs.com/vectorli/p/5401258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!