DANCE WITH JAVA

          開發(fā)出高質(zhì)量的系統(tǒng)

          常用鏈接

          統(tǒng)計(jì)

          積分與排名

          好友之家

          最新評(píng)論

          Effective Java 8-13

          八:改寫equals方法時(shí)總要改寫hashCode
          原因:來自java.lang.Object關(guān)于hashCode的規(guī)范
          1,在一個(gè)應(yīng)用執(zhí)行期間,如果一個(gè)對象的equals方法比較所用到的信息沒有修改的話,那么對該對象調(diào)用hashCode多次,比如如一的返回同一個(gè)數(shù)
          2,如果兩個(gè)對象的equals方法返回true,那么分別調(diào)用hashCode方法返回的值應(yīng)該相等
          3,在兩個(gè)兌現(xiàn)的equals方法返回false時(shí),盡可能的讓hashCode方法返回的值不相等,提高散列表的性能
          分析:如果改寫了equals沒有改寫hashCode在使用map等集合類的時(shí)候會(huì)出現(xiàn)問題。
          九:盡可能的改寫toString方法,并在顯示內(nèi)容中盡可能的包括令人感興趣的信息。并且在注釋中表示出你的意圖。
          十:謹(jǐn)慎的改寫clone方法,改寫前考慮淺拷貝和全拷貝
          十一:考慮實(shí)現(xiàn)Comparable接口,如果你的對象要排序,那么記得實(shí)現(xiàn)這個(gè)方法
          十二:使類和成員的可訪問能力最小化,
          十三:支持非可變性
          非可變性遵循以下的原則:
          1,不提供任何改變對象的方法
          2,保證沒有可被子類改寫的方法
          3,保證所有的域都使final
          4,使所有的域都成為私有的
          5,保證任何可變組件互斥訪問
          6,非可變對象本質(zhì)是線程安全的,不需要同步

          posted on 2007-01-31 23:31 dreamstone 閱讀(944) 評(píng)論(0)  編輯  收藏 所屬分類: jdk相關(guān)

          主站蜘蛛池模板: 辽中县| 永济市| 清水县| 万荣县| 山丹县| 龙江县| 金沙县| 江达县| 民丰县| 临澧县| 曲靖市| 彭州市| 墨脱县| 保康县| 莱州市| 龙门县| 上饶市| 郯城县| 溧水县| 融水| 资源县| 安徽省| 昌平区| 绥江县| 陈巴尔虎旗| 马公市| 文昌市| 邳州市| 韩城市| 静乐县| 郸城县| 东丽区| 茶陵县| 威远县| 东城区| 乌恰县| 莎车县| 潞西市| 互助| 奎屯市| 彭阳县|