public class Main {
public static void main(String[] args) {
String s = "Hello";
s.toUpperCase();
System.out.println(s);
}
}
選択肢
- あなたの回答
- 正解
正解
B. Hello が表示される
詳細解説
String は不変オブジェクトです。toUpperCase() は元の文字列を変更せず新しい String を返します。戻り値を使っていないため s は変わらず Hello が表示されます。
なぜ他の選択肢が違うのか
- toUpperCase() の戻り値を変数に受け取っていないため HELLO にはなりません。
- String のメソッドは正しく呼び出せるためコンパイルできます。
- s が変更されないため空文字にはなりません。
罠ポイント
String のメソッドは新しい String を返します。変更を保持したい場合は戻り値を受け取る必要があります。