【发布时间】:2016-01-10 14:24:36
【问题描述】:
从我的Java对象新手的角度来看,如果两个变量引用一个对象,更新一个变量应该对另一个变量执行相同的操作,如下代码所示:
SomeObject s1 = new SomeObject("first");
SomeObject s2 = s1;
s2.setText("second");
System.out.println(s1.getText()); // print second
System.out.println(s2.getText()); // print second as well
我引用了这个thread的代码。
但是,这不适用于 String 类。见以下代码:
String s_1 = new String("first");
String s_2 = s_1;
s_2 = "second";
System.out.println("s_1: " + s_1 + " s_2: " + s_2);
//s_1 appears to be "first" and s_2 "second"
这是因为String类和自声明类的区别吗?感谢您的帮助!
【问题讨论】:
标签: java