java中把一个对象赋值给另一个对象结果两个对象变成同一个对象。

测试

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(基本类型的封装类)的对象即使把一个对象赋给另一个后是同一个对象,但对其中一个对象赋不同的值后又变成两个不同的对象

检验

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
发布了56 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/hpccph15/article/details/90761615