读书人

《Effective Java》翻阅体会之二-所有

发布时间: 2012-10-09 10:21:45 作者: rapoo

《Effective Java》阅读体会之二--所有对象和类的通用方法(equals 注意事项)

本节论述了通用对象-java类默认的继承对象(Object)的方法和注意事项,同时也对具有类似特性的Comparable.compareTo()也进行了讲解。

?

一.覆盖equals时要遵守通用约定

?

?1.Object的equals如下:

public boolean equals(java.lang.Object phoneNumber) {      if(this== phoneNumber){// 1.如equals比较耗费性能,先用==判断是//否是对象的引用           return true;       }      if (ts instanceof phoneNumber) {// 2. instanceof 判断类型PhoneNumber pn=(PhoneNumber)phoneNumber; // 3. 转//换类型           return areaCode==null ||  (areaCode!=null&&areaCode.equals(pn.areaCode));//4.关键域的比较,注意吧null情况,如果通常是相同对象引用,则这样快些         }//5.编写完成,注意检查对称性,传递性和一致性。//6.覆盖equls时总要覆盖hashCode@overridepublic hashCode(){}

??

?

?

读书人网 >软件架构设计

热点推荐