-2
當傳遞字符串a至myFunction()時,我傳遞該引用。爲什麼當它退出時,參考指向舊的字符串?它不使用真正的字符串引用嗎?將字符串參數傳遞給函數並將其更改
import java.time.*;
public class Main {
public static void main(String[] args) {
String a = "aaa";
myFunction(a);
System.out.println(a);
}
private static void myFunction(String a) {
a = a + "111";
System.out.println(a);
}
}
您可以傳遞一個'StringBuilder',因爲這個方法可以修改它,或者從方法返回一個結果'String'。 Java字符串是不可修改的(常量,凍結)。 –
要回答你的問題,引用僅傳遞給方法。如果在該方法中引用已更改,則新引用不會傳回。 –