JAvaでは、1つのオブジェクトを別のオブジェクトに割り当てた結果、2つのオブジェクトが同じオブジェクトになります.

6566 ワード

テスト
public class test {
    static class f {
        String s;
    }

    public static void main(String[] args) {
        f f1 = new f();
        f f2 = new f();
        System.out.println(f1 == f2);
        f2 = f1;
        System.out.println(f1 == f2);
        f1.s = "222";
        f2.s = "333";
        System.out.println(f1.s);
    }
}

結果:
false
true
333

結論:
java                           。

でも注意
StringタイプのオブジェクトおよびInteger(基本タイプのカプセル化クラス)のオブジェクトに対して、1つのオブジェクトを別のオブジェクトに割り当てても、1つのオブジェクトに異なる値を割り当てて2つの異なるオブジェクトになります.
けんさ
public static void main(String[] args) {
        Integer i1 = 1;
        Integer i2 = 1;
        System.out.println(i1 == i2);
        i2 = 2;
        System.out.println(i1 == i2);
        System.out.println(i1);
    }

結果
true
false
1

けんさ
public static void main(String[] args) {
        String s1  = "111";
        String s2 = s1;
        System.out.println(s1==s2);
        s2 = "222";
        System.out.println(s1);
        System.out.println(s1==s2);
        }

結果
true
111
false