测试
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