我正在尝试为 Java 中的对象变量创建一个别名,以便我可以更改一个对象变量并使其影响另一个变量。例如,在这个片段中,我希望打印出“b”。相反,我得到“a”。
String s = new String("a");
String t = s;
t = new String("b");
System.out.println(s); // Prints "a".
我认为 Java 中的非基本类型能够像这样被引用和“捆绑”在一起。
最佳答案
不,它从来不会那样工作。变量、字段等不能在 Java 中“绑定(bind)”。
您的变量可以在变量中包含“指向值的链接”,但不能包含“指向另一个变量的链接”。
这意味着在您的情况下 s
和 t
最初将链接保持为相同的值,但它们彼此不了解。当您将新字符串分配给t
时,旧字符串的值不会更改(并且s
仍然引用旧值)。这只是`t
关于java - 如何使两个对象变量相互引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46707684/