クラス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
- 関連 目:
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明StringJoiner(CharSequence delimiter) prefixおよびsuffixを指定せずに、指定されたdelimiterのコピーを使用して、文字を含まないStringJoinerを構築します。StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix) 指定されたprefix、delimiterおよびsuffixのコピーを使用して、文字を含まないStringJoinerを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明add(CharSequence newElement) 指定されたCharSequence値のコピーをStringJoiner値の次の要 として追 します。intlength()このStringJoinerのString表現の長さを返します。merge(StringJoiner other) 指定されたStringJoinerの接 辞と接尾辞を除いた内容が空でない 合は、それを次の要 として追 します。setEmptyValue(CharSequence emptyValue) このStringJoinerの文字列表現を決定するときに要 がま 追 されていない(つまり、空である) 合に使用する文字のシーケンスを設定します。toString()prefix、これまで追 された値(delimiterで区切られている)、およびsuffixで構成された現在の値を返します(追 された要 が1つもない 合を除く。その 合は、prefix + suffixまたはemptyValue文字が返される)。
-
コンストラクタの詳細
-
StringJoiner
public StringJoiner(CharSequence delimiter) prefixおよびsuffixを指定せずに、指定されたdelimiterのコピーを使用して、文字を含まないStringJoinerを構築します。StringJoinerに文字が追 されていないときに、その値にアクセスするメソッドが呼び出された 合、setEmptyValueが先に呼び出されていないかぎり、結果にはprefixやsuffix(またはそれらのプロパティ)は返されません。- パラメータ:
delimiter-StringJoiner値に追 される各要 の間に使用する文字シーケンス- スロー:
NullPointerException-delimiterがnullである 合
-
StringJoiner
public StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix) 指定されたprefix、delimiterおよびsuffixのコピーを使用して、文字を含まないStringJoinerを構築します。StringJoinerに文字が追 されていないときに、その文字列値にアクセスするメソッドが呼び出された 合、setEmptyValueが先に呼び出されていないかぎり、結果にはprefix + suffix(またはそれらのプロパティ)が返されます。- パラメータ:
delimiter-StringJoinerに追 される各要 の間に使用する文字シーケンスprefix- 先 に使用する文字シーケンスsuffix- 末尾に使用する文字シーケンス- スロー:
NullPointerException-prefix、delimiterまたはsuffixがnullである 合
-
-
メソッドの詳細
-
setEmptyValue
public StringJoiner setEmptyValue(CharSequence emptyValue) このStringJoinerの文字列表現を決定するときに要 がま 追 されていない(つまり、空である) 合に使用する文字のシーケンスを設定します。 この目的のために、emptyValueパラメータのコピーが作成されます。 addメソッドが呼び出された後は、追 された要 が空のStringに相当する 合でも、StringJoinerは空とは見なされなくなります。- パラメータ:
emptyValue- 空のStringJoinerの値として返す文字- 戻り値:
- 呼出しの連鎖を可能にするため、この
StringJoiner自体 - スロー:
NullPointerException-emptyValueパラメータがnullである 合
-
toString
-
add
public StringJoiner add(CharSequence newElement) 指定されたCharSequence値のコピーをStringJoiner値の次の要 として追 します。newElementがnullの 合は、"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()このStringJoinerのString表現の長さを返します。 addメソッドが呼び出されたことがない 合は、String表現(prefix + suffixまたはemptyValue)の長さが返されます。 値はtoString().length()と等しくなるはずです。- 戻り値:
StringJoinerの現在値の長さ
-