Object クラスは java.lang パッケージにあり、Java のすべてのクラスはそこから拡張されます。
Java クラスを定義するときに親クラスを明示的に指定しない場合、デフォルトで Object クラスが継承されます。例:
public class Demo{ // ... }
は実際には次のコードの省略形です:
public class Demo extends Object{ // ... }
Java では、数値、文字、ブール値などの基本型のみがオブジェクトではありません。すべての配列型はオブジェクトではありません。オブジェクト配列と基本型配列はどちらも Object クラスから継承します。
Object クラスはルート クラスであるため、これらのメソッドは通常、それぞれの特定の機能を実装するためにオーバーロードまたはオーバーライドされます。
equals() メソッド
Object クラスの equals() メソッドは、オブジェクトが別のオブジェクトと同等かどうかを検出するために使用されます。構文は次のとおりです。
public booleanquals(Object obj)
例:
obj1.equals(obj2);
In Java、データの等価性の基本的な意味は、2 つのデータの値が等しいことです。 equals() と "==" による比較では、参照型データは参照、つまりメモリ アドレスを比較し、基本データ型は値を比較します。
注:
•equals() メソッドは参照型のみを比較できますが、「==」は参照型と基本型を比較できます。
•equals()メソッドを使用して比較する場合、Fileクラス、Stringクラス、Dateクラスおよびラッパークラスについては、参照されるインスタンスが同じかどうかは考慮されずに型と内容が比較されます。
•「==」で比較する場合、シンボルの両側のデータ型が一致している必要があります(自動変換できるデータ型を除く)。ただし、2つのデータは等しいと比較され、コンパイルエラーが発生します。メソッドは参照型である必要があるだけです。
hashCode()メソッド
ハッシュコード(hashCode)は、オブジェクトから一定のアルゴリズムに従って取得される値です。 x と y が異なるオブジェクトの場合、x.hashCode() と y.hashCode() は基本的に同じではありません。
hashCode() メソッドは、主にコレクション内のクイック検索やその他の操作を実装するために使用され、オブジェクトの比較にも使用できます。
Java では、hashCode の規則は次のとおりです:
•同じアプリケーションの実行中、同じオブジェクトに対して hashCode() を呼び出すと、同じ整数の結果が返されなければなりません - ただし、equals() によって比較される情報が条件です。 なし変更されています。同じアプリケーションが異なる実行期間で取得した呼び出し結果については、一貫している必要はありません。
•equals() メソッドによって 2 つのオブジェクトが等しいとみなされる場合、両方のオブジェクトに対して hashCode() を呼び出すと、同じ整数の結果が得られる必要があります。
•equals() メソッドによって 2 つのオブジェクトが等しくないとみなされた場合、2 つのオブジェクトに対して hashCode() を呼び出しても、異なる整数の結果が生成される必要はありません。ただし、プログラマは、オブジェクトごとに異なる整数の結果を生成すると、hashTable (コレクション フレームワークのクラスについては後で学習します) の効率が向上する可能性があることに注意する必要があります。
簡単に言えば、2 つのオブジェクトが同じである場合、それらの hashCode 値は同じである必要があります。2 つのオブジェクトが同じ hashCode 値を持っている場合、それらは必ずしも同じである必要はありません。 Java 仕様によれば、通常、equals() メソッドをオーバーライドすると、hashCode() メソッドもオーバーライドされる必要があります。
toString() メソッド
toString() メソッドは、Object クラスで定義されるもう 1 つの重要なメソッドです。構文は次のとおりです。
public String toString()
戻り値は String 型です。説明に使用される 現在のオブジェクトに関する情報。 Object クラスに実装された toString() メソッドは、現在のオブジェクトの型とメモリ アドレス情報を返しますが、一部のサブクラス (String、Date など) で書き換えられており、ユーザー定義で書き換えることもできます。必要に応じて toString() メソッドを使用して、より適切な情報を返します。
オブジェクトの toString() メソッドを明示的に呼び出すことに加えて、String を他のタイプのデータに接続するときに toString() メソッドが自動的に呼び出されます。
上記のメソッドは Java でよく使用されます。ここでは、Object クラスとその他のクラスについて簡単に説明します。詳細については、Java API ドキュメントを参照してください。
上記がこの記事の全内容です。皆さんに気に入っていただければ幸いです
Java ベースのオブジェクト クラスに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。