文字列の結合

アイキャチ画像
2023/01/22
2023/01/22
BU0FpuIr

Javaで文字列を結合する方法をいくつかご紹介します。

正符号

みなさんお馴染みの正符号(+)をつかうことで文字列を連結することができます。

最も簡単かつ、ポピュラーな方法です。

【使い方】
 "文字列" + "文字列"

文字列の結合

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メソッドがあります。

【使い方】
 結合対象.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メソッドがあります。

【使い方】
 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メソッドがあります。

【使い方】
 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文などと相性がいいことと文字列の連結でメモリを圧迫しないので沢山の文字を連結する場合に使うといいです。