私は、以下の質問に対する答えを友人に説明できるようにしようとしていますが、どうすればよいか分かりません。私は、プロセスメソッドが変更されず、答えはABCD(sは変更されていません)ですが、なぜそれがわからないのですか。それは文字列が不変であるからですか?私の友人はそれがCBAであるべきだと思っています。どんな助け?文字列を使ったコード説明
public void process(String s)
{
s = s.substring(2, 3) + s.substring(1, 2) + s.substring(0, 1);
}
(同じクラスのメソッドで)次のステートメントを実行した結果として表示されるものは何ですか?
String s = “ABCD”;
process(s);
System.out.println(s);
ちょうどそれを試してみてください、このような質問をしないでください他には役に立たないでください – Squareoot
あなたの友人は万が一先生ではないでしょうか? – Nic3500
文字列sの再割り当ては、関数プロセスに対してのみローカルです。 Javaはパラメータを値で渡すので、呼び出し元の参照は変更されません。 – StuartLC