StringBuilder のメソッドチェーン
出力はどれか。
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("abc");
sb.append("de").insert(1, "X").reverse();
System.out.println(sb);
}
}
- A
edcbXa - B
aXbcde - C
abcde - D
edcXba
正解と解説を見る
正解: A
- A: "abc" → append で "abcde" → insert(1, "X") で "aXbcde" → reverse で "edcbXa" です。
- B: reverse() も同じ sb を書き換えるので、最後に逆順になります。
- C: StringBuilder は自分自身を書き換えるので、append などの結果が残ります。
- D: insert(1, "X") は位置 1 (a の後ろ) に挿入します。逆にすると b の前に X が来ます。
ポイント
- StringBuilder は自分自身を書き換え、append などは自分自身を返すので、チェーンの結果がすべて sb に残ります。
- "abc" → "abcde" → "aXbcde" → "edcbXa" です。
「文字列の作成と操作 (テキスト・ブロックを含む)」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)