Java中父類Object的經常使用辦法總結。本站提示廣大學習愛好者:(Java中父類Object的經常使用辦法總結)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中父類Object的經常使用辦法總結正文
簡介
Object類: 這個類java.lang.java
是一切類默許繼續的父類
Object類中經常使用的三個辦法:toString()
, equal()
, hashCode()
1、toString()辦法 對象的自我描寫,對象的毛遂自薦
在對象的自我描寫進程中,因為應用get()
辦法打印實例變量比擬費事,為了輕便,應用toString()
.
Public String toString(){ Return “學好” + getNo() + “姓名” + getName(); }
System.out.println(s);
就相當於 System.out.println(s.toString());
在打印:
a.根本數據類型時 直接打印 其數值
b.援用數據類型時 挪用toString()
在打印
若沒有重寫Object類中的toString()
辦法時,直接打印對象,在掌握台得出的成果是:
包全名@對象的hashCode
2、equals()辦法 重寫equals()必定要重寫hashCode(),
Equals()
比擬的是兩個對象,或許兩個對象的內容;hashCode()
是對象的外部地址,是一個整數。
==與equals()的差別?
答:==本質比擬的是二進制,根本數據類型比擬的是數值,援用數據類型比擬的 是地址
Equals()
分為Object類的equals()
和String類的equals()
,Object類的equals()
相當於==比擬援用類型情形;String類的equals()
重寫啦Object類中的equals()
辦法,比擬的是字面值。
Instanceof斷定類名,或許能夠應用反射
對象的援用變量名 instanceof 類名 這個表達式,假如對象的援用變量名是 前面類名的類或許基類對象其前往值任然是true.
自界說equals()
辦法:
1.類型德雷同
2.界說本身的比擬規矩
public boolean equals(Object object){ //重寫Object的equals()辦法 EqualsTest equalsTest = (EqualsTest) object; if(equalsTest.getClass() == EqualsTest.class){ //??????????? if((this.name==equalsTest.name)&&(this.price== qualsTest.price)){ return true; }else{ return false; } }else{ return false; } }
3、hashCode()辦法 用於加快查找,完成索引查找 (查詢算法,存儲算法)
Public int hashCode(){ Return this.name.hashCode()*13 + new Interger(getAge).hashCode()*12; }
hashCode的兩個准繩:
1.兩個對象equals()
辦法比擬前往值為true時,那末他們的hashCode()
辦法也要包管前往值雷同。
2.對象頂用equals()
來比擬應用的屬性,都應當用來盤算hashCode()
。
hashCode() 哈希算法
需求:
1.hashCode()
前往值雷同,equals()
前往值也必定要雷同。
2.重寫hashCode()
應用啦甚麼屬性,在equals()
辦法中也要應用甚麼屬 性。
注:hashCode雷同,equals紛歧定雷同。
hashCode用於斷定文件夾,equals用來斷定文件。
假如不重寫hashCode()
辦法,默許的hashCode()辦法是依據對象的地址求出來的(鍵值就是對象的地址)
假如重寫啦hashCode()
辦法就不克不及用來斷定是否是統一個對象,
則可使用System.identityHashCode
(對象的援用名) 若hashCode雷同,則為統一個對象。
System.out.println(System.identityHashCode(對象的援用名));
假如沒有hashCode()
,其對象的hashCode是經由過程對象地址算出來的。
System.out.println(對象援用名.hashCode());
注:HashSet聚集中元素能否存在和刪除操作依附的辦法是元素的hashCode()
和equals()
總結
以上就是為年夜家整頓的Java中父類Object的三個經常使用辦法,願望對年夜家能有所贊助,假如有疑問年夜家可以留言交換,感謝年夜家對的支撐。