【Java】insertメソッドで値がある位置に挿入したらどうなるのか・・
今回のテーマ
今回問題集でつまったのは空のStirngBuilderクラスにinsertメソッドで 同じ箇所に値を挿入した場合の挙動についてです。
記事対象者
・Javaを学び始めた初学者
・1Z0-815の資格取得を目指している方
サンプルコード
StringBuilder sb =new StringBuilder(); sb.insert(0,"-1"); sb.insert(0,"1") sb.insert(0,"2"); System.out.println(sb); // 出力結果 21-1
流れと内容はシンプルです。
①StringBuilderクラスをインスタンス化しsbに代入する。
②sbに対してinsertメソッドで0の位置に-1を挿入する。
この段階でsbは-1になる。
③sbに対してinsertメソッドで0の位置に1を挿入する。
この段階でsbは1-1になる。
④sbに対してinsertメソッドで0の位置に2を挿入する。
この段階でsbは21-1になる。
insertメソッドの文法は以下の通りです。
追加対象文字列(インスタンスなども).insert(追加位置,追加文字)
まとめ
ポイントはinsert文で同じ箇所に挿入をした場合
もともと配置されていた要素はどうなるのかです。
私はてっきり上書きされるのかと思いました。
(具体的には流れ③の段階でsbには1しか入っていない状態だと・・)
正解はもともとあった要素は右に押し出される(要は1の位置に移る)ということでした。
参考サイト
Javaで文字列を挿入するinsertメソッド【StringBuilderクラス】
学習サイト
オラクル認定資格教科書 Javaプログラマ Silver SE11(試験番号1Z0-815)
- 作者:山本 道子
- 発売日: 2019/11/18
- メディア: 単行本(ソフトカバー)