こんにちは私は私のscja試験のために勉強していて、ref/valueを通過する文字列とそれらがどのように不変であるかについて質問があります。次のコードは「abcabcfg」を出力します。
私が知りたいのは、なぜこれが起こっているのかということです。メソッドfの内部で何が起こっているのか理解できません。文字列は値で渡されるので、メソッド内で「abcde」に変更する必要がありますか?b + = "fg"が文字列に追加された場合、メソッド内で機能しないのはなぜですか?
ありがとう!
public class Test {
public static void main(String[] args){
String a =new String("abc");
String b = a;
f(b);
b+="fg"
System.out.println(a + " " + b);
}
public static void f(String b){
b+="de";
b=null;
}
}