Java Object 類別核心方法解析。本站提醒廣大學習愛好者:此文章僅供參考,不一定能完全符合您的需求。以下是完整解析正文
Object 類別位於 java.lang 套件中,是所有 Java 類別的祖先,Java 中的每一個類別都由它擴展而來。
定義 Java 類別時如果沒有顯式指定父類別,那麼就預設繼承了 Object 類別。
在 Java 中,只有基本型別不是物件,例如數值、字元和布林值都不是物件,所有的陣列型別,無論是物件陣列還是基本型別陣列都是繼承自 Object 類別。
Object 類別定義了一些有用的方法,因為是根類別,這些方法在其他類別中都存在,通常是進行了重載或覆寫,實作了各自的具體功能。
用來檢測一個物件是否等價於另一個物件。語法:public boolean equals(Object obj)。
在 Java 中,資料等價的基本含義是指兩個資料的值相等。透過 equals() 和「==」比較時,參考型別比較的是參考(記憶體位址),基本型別比較的是值。
注意:
• equals() 只能比較參考型別,「==」可比較參考型別及基本型別。
• 對 File、String、Date 及包裝類別,equals() 比較型別及內容而不考慮參考是否為同一實例。
• 用「==」比較時,雙方資料型別必須相同(可自動轉換的除外),否則編譯失敗;equals() 只要雙方都是參考型別即可。
雜湊碼是根據特定演算法由物件得到的一個數值。如果 x 和 y 是不同物件,x.hashCode() 與 y.hashCode() 基本上不會相同。
hashCode() 主要用於集合中實作快速查找等操作,也可用於物件比較。
規約:同一程式執行期間對同一物件呼叫 hashCode() 必須回傳相同整數;equals() 視為相等的兩個物件,hashCode() 必須相同;equals() 視為不相等,hashCode() 不必不同,但產生不同整數可提升 hashTable 效能。簡單說:物件相等則 hashCode 必相等;hashCode 相等物件不一定相等。通常覆寫 equals() 應連帶覆寫 hashCode()。
物件的字串表示形式。語法:public String toString()。Object 類別實作回傳類別名稱和記憶體位址,String、Date 等子類別已重寫,也可根據需要在自訂類別中重寫。
除顯式呼叫 toString() 外,進行 String 與其他型別資料連接操作時,會自動呼叫 toString()。
以上幾種方法在 Java 中常用到,這裡僅作簡單介紹,讓大家對 Object 類別和其他類別有所了解,詳細請參考 Java API 文件。