DANCE WITH JAVA

          開發出高質量的系統

          常用鏈接

          統計

          積分與排名

          好友之家

          最新評論

          Effective Java 8-13

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

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

          主站蜘蛛池模板: 巩留县| 大悟县| 石泉县| 建平县| 达拉特旗| 施秉县| 珲春市| 德昌县| 大洼县| 海南省| 巴塘县| 叶城县| 合水县| 奎屯市| 科尔| 南投县| 武功县| 增城市| 吴川市| 浦北县| 句容市| 鄂温| 卫辉市| 调兵山市| 青铜峡市| 夹江县| 忻州市| 临洮县| 德化县| 沙雅县| 泰和县| 岳普湖县| 樟树市| 万山特区| 隆德县| 军事| 鹤壁市| 仲巴县| 股票| 大化| 托克逊县|