指定した区切り文字で複数の文字列を連結し新しい文字列を作成する

String クラスで用意されている join メソッドは、複数の文字列を指定した区切り文字を間に挟んで連結していき、新しい文字列を作成します。ここでは Java で指定した区切り文字で複数の文字列を連結し新しい文字列を作成する方法について解説します。

(Last modified: )

String.joinメソッドの使い方

複数の文字列を区切り文字を使って連結し新しい文字列を作成するには String クラスの join メソッドを使います。 join メソッドはクラスメソッドです。書式は次のとおりです。

public static String join(CharSequence delimiter, CharSequence... elements)

パラメータ:
delimiter - 各要素を区切る区切り文字
elements - 結合する要素

戻り値:
delimiterで区切られたelementsからなる新しいString

例外:
NullPointerException - delimiterまたはelementsがnullである場合

1 番目の引数に文字列の間に挟む区切り文字を指定します。 2 番目の引数以降に連結する文字列を必要なだけ指定します。戻り値として連結した新しい文字列を返します。

次のサンプルを見てください。

String str = String.join("-", "Apple", "Grape", "Melon");
System.out.println(str);  // Apple-Grape-Melon

区切り文字として "-" を指定しました。連結する文字列は 3 つ指定しています。この 3 つの文字列を区切り文字の "-" を間に挟んで連結し、連結した新しい文字列を戻り値として取得しました。

また join メソッドは 2 番目の引数にイテレータを指定するものも用意されています。書式は次のとおりです。

public static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)

パラメータ:
delimiter - 結果となるString内のelementsのそれぞれを区切るために使用される文字シーケンス
elements - elementsが結合されるIterable

戻り値:
elements引数からなる新しいString

例外:
NullPointerException - delimiterまたはelementsがnullである場合

1 番目の引数に文字列の間に挟む区切り文字を指定します。 2 番目の引数にイテレータを指定します。戻り値として連結した新しい文字列を返します。

次のサンプルを見てください。

import java.util.List;

List<String> strings = List.of("One", "Two", "Three");
String str = String.join(" * ", strings);
System.out.println(str);  // One * Two * Three

区切り文字として " * " を指定しました。連結する文字列は 3 つの要素を含むリストを作成し、 join メソッドの 2 番目の引数に指定しています。この 3 つの文字列を区切り文字の " * " を間に挟んで連結し、連結した新しい文字列を戻り値として取得しました。

サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample17-1.java という名前で保存します。

import java.util.List;

class JSample17_1{
  public static void main(String[] args){
    String str1 = String.join("-", "Apple", "Grape", "Melon");
    System.out.println(str1);

    List<String> strings = List.of("One", "Two", "Three");
    String str2 = String.join(" * ", strings);
    System.out.println(str2);
  }
}

コンパイルを行います。

javac -encoding UTF-8 JSample17_1.java

その後で、次のように実行してください。

java JSample17_1

String.joinメソッドの使い方(1)

複数の文字列を指定した区切り文字を使って連結して作成した新しい文字列を取得することができました。

-- --

Java で指定した区切り文字で複数の文字列を連結し新しい文字列を作成する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。