文字列の結合
![アイキャチ画像](/img/BU0FpuIr/Eyecatch.webp)
2023/01/22
2023/01/22
BU0FpuIr
Javaで文字列を結合する方法をいくつかご紹介します。
正符号
みなさんお馴染みの正符号(+)をつかうことで文字列を連結することができます。
最も簡単かつ、ポピュラーな方法です。
![](/xxxdeta-box/xxxOLD/0001.png)
【使い方】
"文字列" + "文字列"
"文字列" + "文字列"
文字列の結合
String s1 = "hoge1";
String s2 = "hoge2";
String s3 = "hoge3";
String joinS = s1 + s2 + s3;
System.out.println(joinS);
// コンソール [実行結果]
hoge1hoge2hoge3
カンマ区切りで文字列を結合する
String s1 = "hoge1";
String s2 = "hoge2";
String s3 = "hoge3";
String joinS = s1 + "," + s2 + "," + s3;
System.out.println(joinS);
// コンソール [実行結果]
hoge1,hoge2,hoge3
concatメソッド
JavaのStringクラスには、引数に指定した文字列を対象の後ろに連結するconcatメソッドがあります。
![](/xxxdeta-box/xxxOLD/0001.png)
【使い方】
結合対象.concat("文字列")
【戻り値】
String型
結合対象.concat("文字列")
【戻り値】
String型
引数 | 引数の型 | 説明 |
---|---|---|
引数 | String | 結合対象 |
文字列の結合
String s1 = "hoge1";
String s2 = "hoge2";
String s3 = "hoge3";
String joinS = s1.concat(s2).concat(s3);
System.out.println(joinS);
// コンソール [実行結果]
hoge1hoge2hoge3
このようにconcatメソッドを使って文字列を後ろに連結することができます。
joinメソッド
JavaのStringクラスには、第1引数に指定した文字列を使って文字列を連結するjoinメソッドがあります。
![](/xxxdeta-box/xxxOLD/0001.png)
【使い方】
String.join("区切り文字","連結したい文字列"...)
【戻り値】
String型
String.join("区切り文字","連結したい文字列"...)
【戻り値】
String型
引数 | 引数の型 | 説明 |
---|---|---|
第1引数 | String | 区切り文字 |
第2引数以降 | String | 連結したい文字列 |
※第2引数からは可変長の為、複数指定することができます。
文字列の結合
String s1 = "hoge1";
String s2 = "hoge2";
String s3 = "hoge3";
String joinS = String.join("", s1, s2, s3);
System.out.println(joinS);
// コンソール [実行結果]
hoge1hoge2hoge3
カンマ区切りで文字列を結合する
String s1 = "hoge1";
String s2 = "hoge2";
String s3 = "hoge3";
String joinS = String.join(",", s1, s2, s3);
System.out.println(joinS);
// コンソール [実行結果]
hoge1,hoge2,hoge3
空白区切りで文字列を結合する
String s1 = "hoge1";
String s2 = "hoge2";
String s3 = "hoge3";
String joinS = String.join(" ", s1, s2, s3);
System.out.println(joinS);
// コンソール [実行結果]
hoge1 hoge2 hoge3
formatメソッド
JavaのStringクラスには、第1引数に指定したフォーマットに従って文字列を連結するformatメソッドがあります。
![](/xxxdeta-box/xxxOLD/0001.png)
【使い方】
String.format("フォーマットの指定","文字列"...)
【戻り値】
String型
String.format("フォーマットの指定","文字列"...)
【戻り値】
String型
引数 | 引数の型 | 説明 |
---|---|---|
第1引数 | String | フォーマットの指定 |
第2引数以降 | String | 文字列 |
※ここでは『%s』でその部分に文字列を挿入することを表しています。
※フォーマットの指定方法はFormatterクラスで定義されています。
※第2引数からは可変長の為、複数指定することができます。
カンマ区切りで文字列を結合する
String s1 = "hoge1";
String s2 = "hoge2";
String s3 = "hoge3";
String joinS = String.format("%s,%s,%s", s1, s2, s3);
System.out.println(joinS);
// コンソール [実行結果]
hoge1,hoge2,hoge3
StringBuilderクラス
JavaにはStringBuilderクラスという、文字列を結合する便利なクラスがあります。
文字列の結合
StringBuilder joinS = new StringBuilder();
joinS.append("hoge1");
joinS.append("hoge2");
joinS.append("hoge3");
System.out.println(joinS.toString());
// コンソール [実行結果]
hoge1hoge2hoge3
カンマ区切りで文字列を結合する
StringBuilder joinS = new StringBuilder();
joinS.append("hoge1");
joinS.append(",");
joinS.append("hoge2");
joinS.append(",");
joinS.append("hoge3");
System.out.println(joinS.toString());
// コンソール [実行結果]
hoge1,hoge2,hoge3
条件分岐で文字列を結合する
StringBuilder joinS = new StringBuilder();
boolean comma = true;
joinS.append("hoge1");
if(comma) {
joinS.append(",");
}
joinS.append("hoge2");
if(comma) {
joinS.append(",");
}
joinS.append("hoge3");
System.out.println(joinS.toString());
// コンソール [comma = true の場合の実行結果]
hoge1,hoge2,hoge3
// コンソール [comma = false の場合の実行結果]
hoge1hoge2hoge3
主要メソッド
メソッド名 | 返り値 | 説明 |
---|---|---|
append() | StringBuilder | 連結する値を引数に指定。値はString型以外にプリミティブ型が指定可能。 |
toString() | String | オブジェクト内部のデータ(追加した値)を連結して、1つの文字列として取得できる。 |
特徴として、if文やfor文などと相性がいいことと文字列の連結でメモリを圧迫しないので沢山の文字を連結する場合に使うといいです。