【发布时间】:2015-05-02 19:23:15
【问题描述】:
据我了解,在 Java 中,如果你给 object2 赋予 object1 的值,然后如果你改变 object1 或 object 2,另一个也会改变。但是,对于字符串(我了解到的是对象?),更改一个字符串不会更改另一个字符串。下面是一个例子。改变 s1 不会改变 s2,即使 s2 被赋予了 s1 的值。谁能解释一下?
String s1 = "Ant";
String s2 = s1;
s1 = "Man";
【问题讨论】:
-
这是什么语言?
-
如果语言是 Java,那么 s1 和 s2 是 NOT “对象”。它们是对象引用。
s1 = "Man;完全改变了 s1 所指的对象。原始对象“Ant”自动变为可用于垃圾回收。 -
Java,Foggy 对象引用是什么意思?
-
"并更改其中一个对象" ...您在第二个示例中在哪里执行此操作?您只是重新分配变量
s1,仅此而已。