皆さんこんにちは、新米です。
今回はJava言語でのStringクラスとStringBui
Stringクラスとは
String型のデータである文字列は、
また、String型は参照型なためString型の変数を初期

わかりやすくイラストにまとめてみました。
「String型にデータを再代入した場合」
このように変数strに初期値aを設定してから、再度変数strにデータ

書き換わるのではなく新しく参照先が切り替わるんだよ!
String型に使用できるメソッド
StringクラスはString型の変数に格納されているデー
<Stringクラスのメソッド>
メソッド名 | 説明 | (例)文字列 | 結果 |
charAt(2) | 引数にある文字列を返す。開始は0番目とする。 | abcdef | c |
equals(“abcdef”) | 引数の文字列と同じか比較し、boolean値で返す。 | abcdef | true |
intern() | 一位の文字列を返す | abcde | abcde |
indexOf(‘c’) | 引数の文字が最初に最初に出現する位置を返す。開始は0番目〜 | abcde | 2 |
length() | 文字数を返す。 | abcde | 5 |
replace(‘’a,’z’) | 第1引数の文字を第2引数で指定した文字に置き換え、 |
abcde | zbcdef |
substring(2) | 引数で指定した位置から最後までの文字列を返す。開始は0番目〜 | abcde | cde |
※JavaSilver引用
構文
String sub = fruit.substring(2);
System.out.print(sub);
実行結果
>>Stringクラスのメソッドを詳しく知りたい方はこちらがおすすめ
StringBuilderとは
StringBuilderクラスも文字列を扱うクラスですが、

こちらもわかりやすくイラストにまとめてみました!
「StringBuilderクラスのString型にデータを
このように変数strに初期値aを設定してから、再度変数strにデータ

一度生成した文字列を追加したり置き換えたりできるんだね!
StringBuilderクラスの文字列を作成するには配列の
構文
またStringBuilderクラスも変数に格納されているデ
StringBuilderクラスに使用できるメソッド
<StringBuilderクラスのメソッド>
メソッド名 | 説明 | 例) 文字列 | 結果 |
append(“XYZ”) | 引数の文字列を現在の文字列に追加する。 | ABCDEF | ABCDEFXYZ |
insert(2,”ZZ”) | 引数の文字列を引数で指定された位置にある文字列の前に挿入する。 | ABCDEF | ABZZCDEF |
delete(0,3) | 第1引数から第2引数の要素数分文字列を削除する。 | ABCDEF | DEF |
replace(3, str.length(),”ZZZ”) | 第1引数から第2引数のlength分第3引数に置き換える。 | ABCDEF | ABCZZZ |
substring(2) | 引数から最後の文字まで文字列を返す。 | ABCDEF | CDEF |
※JavaSilver引用
[サンプルコード]System.out.print(fruit.subString(2));
実行結果
>>StringBuilderクラスのメソッドを詳しく知りたい方はこちらがおすすめ
まとめ:もう一度違いについておさらいしよう!
文字列に対して別の文字列を結合して新たな文字列を作成する時S

文字列同士を連結した場合で最終確認しよう!
例1)
String str1 = “a”;
String str2 = “a” + str2;
例2)
String str1 = “a”;
String str2 = str2.concat(“b”);
例3)
StringBuilder str3 = new StringBuilder(“a”);
StringBuilder str4 = str3.append(“b”);
例1と例2は文字列の結合時に新しい文字列が生成されます。例3は文字列の結合時に既存の文字列に書き変わります。
■Stringクラス・・・文字の置き換えNO
・文字列の代入、結合時は新たに文字列が生成される。
■StringBuilderクラス・・・文字の置き換えYES
・新たに文字列を生成しない。
いかがだったでしょうか?
しっかりとStringクラスとStringBuilderクラ
また今後の資格やプログラミングに活かせるように頑
コメント