-2
文字列〜myFunction()を渡すとき、私は参照を渡します。なぜそれが終了するとき、参照は古いStringを指していますか?文字列への実際の参照を使用していませんか?文字列パラメータを関数に渡して変更する
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文字列は変更不可能です(定数、フリーズ)。 –
質問に答えるために、参照はメソッドに渡されます。メソッド内で参照が変更された場合、新しい参照は戻されません。 –