JavaのStringBuilderクラスとは?各メソッドをコード付きで紹介
 
          - システム
 エンジニア
- JavaでのStringBuilderクラスでどのようなことができるのでしょうか。
- プロジェクト
 マネージャー
- 文字列の追加、削除、差し込み、置換、抽出などが簡単に行えます。
JavaでのStringBuilderクラスの使い方とは?

            今回は、JavaでのStringBuilderクラスの使い方について説明します。StringBuilderクラスを使うと、文字列の追加、削除、差し込み、置換、抽出などが簡単に行えます。
各種メソッドの書き方と実行結果をサンプルコードと共に紹介しますので、JavaでのStringBuilderクラスの使い方に興味のある方はぜひご覧ください。
append
JavaのStringBuilderクラスのappendメソッドについて紹介します。
文字列の追加ができます。実際のソースコードを見てみましょう。
| 
                          1
                         
                          2
                         
                          3
                         
                          4
                         
                          5
                         
                          6
                         
                          7
                         
                          8
                         
                          9
                         
                          10
                         | 
                          public class Main {
                         
                              public static void main(String[] args) throws Exception {
                         
                                  StringBuilder sb = new StringBuilder();
                         
                                  sb.append(""Hello "");
                         
                                  sb.append(""world."");
                         
                                  System.out.println(sb.toString());
                         
                              }
                         
                          }
                         | 
実行結果は以下のようになります。
| 
                          1
                         | 
                          Hello world.
                         | 
文字列が追加できていることが分かります。
charAt
JavaのStringBuilderクラスのcharAtメソッドについて紹介します。
指定indexの文字を返却します。実際のソースコードを見てみましょう。
| 
                          1
                         
                          2
                         
                          3
                         
                          4
                         
                          5
                         
                          6
                         
                          7
                         
                          8
                         
                          9
                         | 
                          public class Main {
                         
                              public static void main(String[] args) throws Exception {
                         
                                  StringBuilder sb = new StringBuilder(""Hello world."");
                         
                                  for(int i=0; i<sb.length(); i++){
                         
                                      System.out.println(sb.charAt(i));
                         
                                  }
                         
                              }
                         
                          }
                         | 
実行結果は以下のようになります。
| 
                          1
                         
                          2
                         
                          3
                         
                          4
                         
                          5
                         
                          6
                         
                          7
                         
                          8
                         
                          9
                         
                          10
                         
                          11
                         
                          12
                         | 
                          H
                         
                          e
                         
                          l
                         
                          l
                         
                          o
                         
                          w
                         
                          o
                         
                          r
                         
                          l
                         
                          d
                         
                          .
                         | 
1文字ずつ取り出せていることが分かります。
delete
JavaのStringBuilderクラスのdeleteメソッドについて紹介します。
指定indexの文字列を削除できます。実際のソースコードを見てみましょう。
| 
                          1
                         
                          2
                         
                          3
                         
                          4
                         
                          5
                         
                          6
                         
                          7
                         
                          8
                         
                          9
                         | 
                          public class Main {
                         
                              public static void main(String[] args) throws Exception {
                         
                                  StringBuilder sb = new StringBuilder(""Hello world."");
                         
                                  // index 1~index 3を削除
                         
                                  sb.delete(1, 3);
                         
                                  System.out.println(sb.toString());
                         
                              }
                         
                          }
                         | 
実行結果は以下のようになります。
| 
                          1
                         | 
                          Hlo world.
                         | 
指定indexの文字列が削除できていることが分かります。
indexOf/lastIndexOf
JavaのStringBuilderクラスのindexOf/lastIndexOfメソッドについて紹介します。
指定文字が登場するindexを調べられます。実際のソースコードを見てみましょう。
| 
                          1
                         
                          2
                         
                          3
                         
                          4
                         
                          5
                         
                          6
                         
                          7
                         
                          8
                         
                          9
                         
                          10
                         
                          11
                         
                          12
                         | 
                          public class Main {
                         
                              public static void main(String[] args) throws Exception {
                         
                                  StringBuilder sb = new StringBuilder(""Hello world."");
                         
                                  // 最初に登場するindex
                         
                                  System.out.println(sb.indexOf(""o""));     // 4
                         
                                  // 最後に登場するindex
                         
                                  System.out.println(sb.lastIndexOf(""o"")); // 7
                         
                                  // 存在しない場合は-1
                         
                                  System.out.println(sb.indexOf(""z""));     // -1
                         
                              }
                         
                          }
                         | 
実行結果は以下のようになります。
| 
                          1
                         
                          2
                         
                          3
                         | 
                          4
                         
                          7
                         
                          -1
                         | 
indexOfメソッドで、指定文字列が最初に登場するindexを返却し、lastIndexOfメソッドで、指定文字列が最後に登場するindexを返却します。
insert
JavaのStringBuilderクラスのinsertメソッドについて紹介します。
指定indexに文字列を差し込めます。実際のソースコードを見てみましょう。
| 
                          1
                         
                          2
                         
                          3
                         
                          4
                         
                          5
                         
                          6
                         
                          7
                         
                          8
                         
                          9
                         | 
                          public class Main {
                         
                              public static void main(String[] args) throws Exception {
                         
                                  StringBuilder sb = new StringBuilder(""Hello world."");
                         
                                  // index6に文字列を差し込む
                         
                                  sb.insert(6, ""wonderful "");
                         
                                  System.out.println(sb.toString());
                         
                              }
                         
                          }
                         | 
実行結果は以下のようになります。
| 
                          1
                         | 
                          Hello wonderful world.
                         | 
指定indexに文字列が差し込まれていることが分かります。
replace
JavaのStringBuilderクラスのreplaceメソッドについて紹介します。
指定indexの文字列を置換できます。実際のソースコードを見てみましょう。
| 
                          1
                         
                          2
                         
                          3
                         
                          4
                         
                          5
                         
                          6
                         
                          7
                         
                          8
                         
                          9
                         | 
                          public class Main {
                         
                              public static void main(String[] args) throws Exception {
                         
                                  StringBuilder sb = new StringBuilder(""Hello world."");
                         
                                  // index0~index5を置換する
                         
                                  sb.replace(0, 5, ""Goodmorning"");
                         
                                  System.out.println(sb.toString());
                         
                              }
                         
                          }
                         | 
実行結果は以下のようになります。
| 
                          1
                         | 
                          Goodmorning world.
                         | 
指定indexの文字列が置換されていることが分かります。
reverse
JavaのStringBuilderクラスのreverseメソッドについて紹介します。
文字列を逆順にします。実際のソースコードを見てみましょう。
| 
                          1
                         
                          2
                         
                          3
                         
                          4
                         
                          5
                         
                          6
                         
                          7
                         | 
                          public class Main {
                         
                              public static void main(String[] args) throws Exception {
                         
                                  StringBuilder sb = new StringBuilder(""Hello world."");
                         
                                  System.out.println(sb.reverse().toString());
                         
                              }
                         
                          }
                         | 
実行結果は以下のようになります。
| 
                          1
                         | 
                          .dlrow olleH
                         | 
substring
JavaのStringBuilderクラスのsubstringメソッドについて紹介します。
指定indexの文字列を抽出できます。実際のソースコードを見てみましょう。
| 
                          1
                         
                          2
                         
                          3
                         
                          4
                         
                          5
                         
                          6
                         
                          7
                         
                          8
                         
                          9
                         | 
                          public class Main {
                         
                              public static void main(String[] args) throws Exception {
                         
                                  StringBuilder sb = new StringBuilder(""Hello world."");
                         
                                  System.out.println(sb.substring(0, 4)); // index9~index4を抽出
                         
                                  System.out.println(sb.substring(3, 8)); // index3~index8を抽出
                         
                                  System.out.println(sb.substring(6));    // index6以降を抽出
                         
                              }
                         
                          }
                         | 
実行結果は以下のようになります。
| 
                          1
                         
                          2
                         
                          3
                         | 
                          Hell
                         
                          lo wo
                         
                          world.
                         | 
- システム
 エンジニア
- StringBuilderクラスの扱いは難しいイメージでしたが、文字列の追加、削除などが簡単に行えるのですね。
- プロジェクト
 マネージャー
- StringBuilderクラスの扱いに慣れるために、そのほかの差し込み、置換、抽出なども併せて実際にソースコードで書いてみましょう。
まとめ
いかがでしたでしょうか。JavaでのStringBuilderクラスの使い方について説明しました。
StringBuilderクラスを使うと、文字列の追加、削除、差し込み、置換、抽出などが簡単に行えます。ぜひご自身でソースコードを書いて、理解を深めてください。
FEnetJava・Javaコラムは株式会社オープンアップシステムが運営しています。
          
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
          数多くのエンジニアが集まります。

- 
              スマホアプリから業務系システムまで スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。 
- 
              充実した研修制度 毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。 
- 
              資格取得を応援 スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。 
- 
              東証プライム上場企業グループ オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。 安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。 
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
              まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。


Java新着案件New Job
- 
              
              官公庁向け業務システム開発/Java/東京都千代田区/【WEB面談可】/テレワーク月給39万~44万円東京都千代田区(永田町駅)
- 
              
              販売管理システム開発/Java/東京都中央区/【WEB面談可】/テレワーク月給49万~55万円東京都中央区(京橋駅)
- 
              
              生命保険会社向けシステム開発/Java/東京都千代田区/【WEB面談可】/テレワーク月給42万~48万円東京都千代田区(大手町駅)
- 
              
              社会保険システムのパッケージ開発/Java/東京都港区/【WEB面談可】/テレワーク月給42万~48万円東京都港区(新橋駅)
- 
              
              金融機関向けシステム更改/Java/東京都江東区/【WEB面談可】/テレワーク月給46万~51万円東京都江東区(豊洲駅)
- 
              
              大手通信会社者向けWebシステム改修/Java/東京都港区/【WEB面談可】/テレワーク月給42万~48万円東京都港区(品川駅)