平凡エンジニアによる平凡ブログ

平凡インフラエンジニアがスキルアップを目指してプログラミングやクラウドやサーバといったインフラのアウトプットをしていきます!

【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)

オラクル認定資格教科書 Javaプログラマ Silver SE11(試験番号1Z0-815)

  • 作者:山本 道子
  • 発売日: 2019/11/18
  • メディア: 単行本(ソフトカバー)