首页 > 编程语言 > 详细

《Effective Java》要点总结

时间:2016-04-17 17:24:28      阅读:220      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!