java.lang-Objectクラス


事前に知っておくべきチラシ

  • オブジェクトの生成時に空きメモリ領域を検索して生成
    ->同じアドレスを持つ2つの異なるオブジェクトはありません.
    ->ただし、2つ以上の参照変数が同じアドレス値を持つことは可能です.
  • Objectクラス


    すべての階級の最高の祖先

    equalsメソッド


    オブジェクトの参照変数を受信および比較する方法
    public boolean equals(Object obj) {
            return (this == obj);
    }
  • 対象中の等しさは==で判断される.
    ->参照変数の値を比較することで判断します.
    の写真によれば、2つの参照変数のルートが同じかどうかのプロセスが等しい論理であることを確認することができる.
  • hashCodeメソッド


    オブジェクトのhashCodeメソッド
    @HotSpotIntrinsicCandidate
        public native int hashCode();
  • ハッシュ?:データ管理テクノロジーの1つ.大量データの格納と取得
  • のような相手なら?hashCodeメソッドを呼び出すと、結果値hashCodeも同じになるはずです.
  • +ネイティブメソッド
  • 抽象的な方法のように、体がなく、宣言簿の方法しかありません.
  • Java実装ではなく、オペレーティングシステムに既に存在するメソッドを使用します.
  • クローン方法


    新しいインスタンスを作成するために自分自身をコピーする方法
    int[] arr = [1, 2, 3, 4, 5];
    int[] arrClone = arr.clone();
  • メンバー変数の値のみがコピーされます.
  • 配列またはインスタンスによってメンバーとして定義されたクラスのインスタンスが完全にコピーされることはありません.
    ->コピーしたインスタンスも同じアドレスを持つため、元のインスタンスに影響します.
  • public static void main(String[] args) {
            int[] arr = {1, 2, 3, 4, 5};
            int[] arrClone = arr.clone();
    
            System.out.println(arr); //[I@2d6e8792
            System.out.println(arr.clone()); //[I@2812cbfa
            System.out.println(arrClone); //[I@2acf57e3
    
            arrClone[1] = 0;
            System.out.println(arr[1]); // 2
            System.out.println(arrClone[1]); // 0
    }

    アレイをコピーする理由


    ->配列もオブジェクトなので、clone()でコピーできます.オブジェクトが継承され、マージ可能およびシリアル可能になっているためです.
    ->コピーは元のバージョンとは異なります.