Java Silver 第4回 『同一性と同値性の概念とは』

目次

同一性と同値性とは

Java Silver 第3回 では演算子の種類について解説しました。今回は同一性と同値性について学んでいきます。

同一性と同値性はどちらも、比較している変数が”同じ”であるかを真偽値(true,false)で評価します。

①同一性
・==演算子で判定する
・複数の変数が同じインスタンスを参照している場合、trueを戻す。


②同値性
・equalsメソッドで判定する
・インスタンスは異なるが同じ値を持っている場合、trueを戻す。

実行例

        // 同じ値を持つ2つのStringオブジェクトを作成
        String str1 = new String("hello");
        String str2 = new String("hello");
        
        // 同一性の比較
        System.out.println("同一性の比較:");
        System.out.println("str1 == str2: " + (str1 == str2)); // false

        // 同値性の比較
        System.out.println("同値性の比較:");
        System.out.println("str1.equals(str2): " + str1.equals(str2)); // true


        // 同一のオブジェクトを指す2つの参照変数を作成
        String str3 = "hello";
        String str4 = str3;


        // 同一性の比較
        System.out.println("同一性の比較:");
        System.out.println("str3 == str4: " + (str3 == str4)); // true
        
        // 同値性の比較
        System.out.println("同値性の比較:");
        System.out.println("str3.equals(str4): " + str3.equals(str4)); // true

出力結果

同一性の比較:
str1 == str2: false
同値性の比較:
str1.equals(str2): true
同一性の比較:
str3 == str4: true
同値性の比較:
str3.equals(str4): true

まとめ

Javaにおける同一性と同値性は、オブジェクトの比較において重要な概念です。同一性はオブジェクトのメモリ上の場所を比較し、同値性はオブジェクトの値を比較します。

(Visited 413 times, 1 visits today)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITを無料で学べる職業訓練校です。
これまでに多くの方が、未経験からIT業界デビュー!

それぞれのキャリアパスに合わせて
自分好みのコースを選択可能でき、
就職へのサポート体制も充実しています。
「未経験からIT業界を目指したい」という方は、
是非お問い合わせください。

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次