您是对的,但字符串是特例;它们是不可变的,在这种情况下,它们像原始对象一样工作。
@newacct
我引用http://docs.oracle.com/javase/tutorial/java/data/strings.html:
注意:String类是不可变的,因此一旦创建它,就不能更改String对象。String类具有许多方法,下面将讨论其中的一些方法,这些方法似乎可以修改字符串。由于字符串是不可变的,因此这些方法的真正作用是创建并返回一个包含操作结果的新字符串。
这就是使字符串成为特例的原因。如果您不知道这些,您可能希望引号中讨论的方法不会返回新的字符串,这将导致意外的结果。
@ user1238193
考虑以下问题:“是否测试t2 = t1;导致t2和t1都指向同一个对象,或者现在都具有自己的对象?这种情况是否适用于Java上的所有对象?”
t1和t2将指向同一对象。对于任何Java对象(包括不可变对象)都是如此



