クラスStringJoiner

java.lang.Object
java.util.StringJoiner

public final class StringJoiner extends Object
StringJoinerは、デリミタで区切られ、(オプション)指定された接 辞から始まり、指定された接尾辞で終わる文字のシーケンスを構築するために使用されます。

StringJoinerに何かが追 される前は、そのsj.toString()メソッドはデフォルトでprefix + suffixを返します。 た し、setEmptyValueメソッドが呼び出された 合は、指定されたemptyValueがかわりに返されます。 これを使用して、たとえば、セット表記を使用して空のセットを表す文字列("{}")を作成できます。ここでは、prefix"{"で、suffix"}"であり、StringJoinerには何も追 されていません。

APIのノート:

"[George:Sally:Fred]"という文字列は、次のように構築できます。

 
 StringJoiner sj = new StringJoiner(":", "[", "]");
 sj.add("George").add("Sally").add("Fred");
 String desiredString = sj.toString();
 

Collectors.joining(CharSequence)を使用してStreamから書式設定された出力を作成する 合に、StringJoinerを利用できます。 たとえば、

 
 List<Integer> numbers = Arrays.asList(1, 2, 3, 4);
 String commaSeparatedNumbers = numbers.stream()
     .map(i -> i.toString())
     .collect(Collectors.joining(", "));
 

導入されたバージョン:
1.8
関連 目:
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    prefixおよびsuffixを指定せずに、指定されたdelimiterのコピーを使用して、文字を含まないStringJoinerを構築します。
    StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
    指定されたprefixdelimiterおよびsuffixのコピーを使用して、文字を含まないStringJoinerを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    add(CharSequence newElement)
    指定されたCharSequence値のコピーをStringJoiner値の次の要 として追 します。
    int
    このStringJoinerString表現の長さを返します。
    指定されたStringJoinerの接 辞と接尾辞を除いた内容が空でない 合は、それを次の要 として追 します。
    このStringJoinerの文字列表現を決定するときに要 がま 追 されていない(つまり、空である) 合に使用する文字のシーケンスを設定します。
    prefix、これまで追 された値(delimiterで区切られている)、およびsuffixで構成された現在の値を返します(追 された要 が1つもない 合を除く。その 合は、prefix + suffixまたはemptyValue文字が返される)。

    クラスjava.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

    • StringJoiner

      public StringJoiner(CharSequence delimiter)
      prefixおよびsuffixを指定せずに、指定されたdelimiterのコピーを使用して、文字を含まないStringJoinerを構築します。 StringJoinerに文字が追 されていないときに、その値にアクセスするメソッドが呼び出された 合、setEmptyValueが先に呼び出されていないかぎり、結果にはprefixsuffix (またはそれらのプロパティ)は返されません。
      パラメータ:
      delimiter - StringJoiner値に追 される各要 の間に使用する文字シーケンス
      スロー:
      NullPointerException - delimiternullである 合
    • StringJoiner

      public StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
      指定されたprefixdelimiterおよびsuffixのコピーを使用して、文字を含まないStringJoinerを構築します。 StringJoinerに文字が追 されていないときに、その文字列値にアクセスするメソッドが呼び出された 合、setEmptyValueが先に呼び出されていないかぎり、結果にはprefix + suffix (またはそれらのプロパティ)が返されます。
      パラメータ:
      delimiter - StringJoinerに追 される各要 の間に使用する文字シーケンス
      prefix - 先 に使用する文字シーケンス
      suffix - 末尾に使用する文字シーケンス
      スロー:
      NullPointerException - prefixdelimiterまたはsuffixnullである 合
  • メソッドの詳細

    • setEmptyValue

      public StringJoiner setEmptyValue(CharSequence emptyValue)
      このStringJoinerの文字列表現を決定するときに要 がま 追 されていない(つまり、空である) 合に使用する文字のシーケンスを設定します。 この目的のために、emptyValueパラメータのコピーが作成されます。 addメソッドが呼び出された後は、追 された要 が空のStringに相当する 合でも、StringJoinerは空とは見なされなくなります。
      パラメータ:
      emptyValue - 空のStringJoinerの値として返す文字
      戻り値:
      呼出しの連鎖を可能にするため、このStringJoiner自体
      スロー:
      NullPointerException - emptyValueパラメータがnullである 合
    • toString

      public String toString()
      prefix、これまで追 された値(delimiterで区切られている)、およびsuffixで構成された現在の値を返します(追 された要 が1つもない 合を除く。その 合は、prefix + suffixまたはemptyValue文字が返される)。
      オーバーライド:
      toString、クラスObject
      戻り値:
      このStringJoinerの文字列表現
    • add

      public StringJoiner add(CharSequence newElement)
      指定されたCharSequence値のコピーをStringJoiner値の次の要 として追 します。 newElementnullの 合は、"null"が追 されます。
      パラメータ:
      newElement - 追 する要 
      戻り値:
      このStringJoinerへの参照
    • merge

      public StringJoiner merge(StringJoiner other)
      指定されたStringJoinerの接 辞と接尾辞を除いた内容が空でない 合は、それを次の要 として追 します。 指定された StringJoinerが空の 合、この呼出しは何の効果も持ちません。

      StringJoinerが空となるのは、add()が呼び出されたことがなく、merge()が空でないStringJoiner引数で呼び出されたことがない 合です。

      他方のStringJoinerが別の区切り文字を使用している 合は、そのStringJoinerの要 がその区切り文字で連結され、その結果が単一の要 としてこのStringJoinerに追 されます。

      パラメータ:
      other - このStringJoinerに内容をマージするStringJoiner
      戻り値:
      このStringJoiner
      スロー:
      NullPointerException - 他方のStringJoinerがnullである 合
    • length

      public int length()
      このStringJoinerString表現の長さを返します。 addメソッドが呼び出されたことがない 合は、String表現(prefix + suffixまたはemptyValue)の長さが返されます。 値はtoString().length()と等しくなるはずです。
      戻り値:
      StringJoinerの現在値の長さ