国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Effective java學(xué)習(xí)筆記7:改寫equals的時(shí)候遵守約定

瀏覽:64日期:2024-06-19 08:02:04
內(nèi)容: 在java里面object equals()的概念是兩個(gè)引用指向的是同一個(gè)對(duì)象,即兩者指向同一個(gè)對(duì)象,才equals()。但是也有特例,比如說(shuō)一些原始類型,integer,string等屬于值相等。就是說(shuō),值相等,也就equals()了。實(shí)際上,他們都改寫了object的equals()方法。但是類型安全的值類不需要改寫equals()。 還有,當(dāng)我們當(dāng)前的類有特定的相等的定義的時(shí)候,而且我們的超類并沒有改寫equals()方法,就需要改寫equals()方法了。改寫的規(guī)范-object必須滿足:1. 自反2. 對(duì)稱3. 傳遞4. 一致5. X非空,x.equals(null)返回false為了實(shí)現(xiàn)高質(zhì)量的equals()改寫,effective java提醒我們要注意一下幾點(diǎn):1. 使用==操作符檢查是否指向同一個(gè)對(duì)象,這是一個(gè)性能優(yōu)化的手段。2. 使用instanceof來(lái)檢查是否為某個(gè)類,同樣也是性能優(yōu)化的手段。3. 把實(shí)參轉(zhuǎn)換到正確的類型,上面一步保證了這一步不會(huì)有錯(cuò)誤。4. 檢查類里的每一個(gè)關(guān)鍵域是否都相等。還有要注意的就是,改寫equals()方法的同時(shí),都要改寫hashcode方法。(下一篇里會(huì)提到為什么要這樣) Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 凌海市| 麻江县| 苗栗市| 德令哈市| 邵阳县| 新沂市| 开平市| 汕尾市| 新晃| 哈密市| 南平市| 黎城县| 九江县| 岱山县| 阜新市| 通州区| 博罗县| 东安县| 土默特左旗| 奉贤区| 台南县| 东辽县| 宝坻区| 泸州市| 虹口区| 金溪县| 安西县| 大同县| 子洲县| 深水埗区| 漳州市| 宜良县| 沾益县| 遂平县| 夏邑县| 沙河市| 电白县| 隆德县| 汉寿县| 错那县| 赤峰市|