重載equals方法時(shí)要遵守的通用約定--自反性,對(duì)稱性,傳遞性,一致性,非空性

quals方法實(shí)現(xiàn)了等價(jià)關(guān)系,重載時(shí)要遵守的通用約定:

a.自反性(reflexive)  

對(duì)于任何非null的引用值x, x.equals(x)必須返回true。

基本上不會(huì)違背這一條規(guī)定。如果違背了的話,將一個(gè)引用添加到一個(gè)集合中,然后,調(diào)用集合的contains(x)方法,它會(huì)返回false。x.equals(x)不等于true,導(dǎo)致contains(x)方法返回false。

b.對(duì)稱性(symmetric) ?

對(duì)于任何非null的引用值x和y,當(dāng)且僅當(dāng)y.equals(x)返回true時(shí),x.equals(y)必須返回true

c.傳遞性(transitive) ? 

對(duì)于任何非null的引用值x,y和z,如果x.equals(y)返回true,并且y.equals(z)返回true,那么x.equals(z)返回true

d.一致性      

對(duì)于任何非null的引用值x和y,只要equals的比較操作在對(duì)象中所用的信息沒(méi)有被修改,多次調(diào)用x.equals(y)就會(huì)一致地返回

true,或者一致地返回false

e.非空性

對(duì)于任何非null的引用值x,x.equals(null)必須返回false





http://www.cnblogs.com/ttylinux/p/6539436.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容