面試小問題——Object中有哪些常用方法?


一、equals方法

  Object類中的equals方法用於檢測一個對象是否等於另外一個對象。Java語言規范要求equals方法具有下面的特性:

  (1)自反性:對於任何非空引用x,x.equals(x)應該返回true

  (2)對稱性:對於任何引用x和y,當且僅當y.equals(x)返回true,則x.equals(y)也應該返回true

  (3)傳遞性:對於任何引用x、y和z,如果x.equals(y)返回true,y.equals(z)返回true,則x.equals(z)也應該返回true

  (4)一致性:如果x和y引用的對象沒有發生變化,反復調用x.equals(y)應該返回同樣的結果。

  (5)對於任何非空引用x,x.equals(null)應該返回false

  instanceof操作符,如果用來判斷子類對象和父類,則會返回true,例如subobj instanceof SuperClass 會返回true,所以,instanceof操作符並不是完美無瑕。

二、hashCode方法

  字符串的散列碼是由內容導出的;如果一個類中沒有定義hashCode方法,則它的散列碼是由Object類的默認hashCode方法導出的對象存儲地址。

三、toString方法

  如果需要打印數組,則需要調用Arrays.toString(arr),要想打印多維數組,則需要調用Arrays.deepToString(arr)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM