public final class StringJoiner extends Object
StringJoinerは、デリミタで区切られ、(オプション)指定された接頭辞から始まり、指定された接尾辞で終わる文字のシーケンスを構築するために使用されます。
StringJoinerに何かが追加される前は、そのsj.toString()メソッドはデフォルトでprefix + suffixを返します。 ただし、setEmptyValueメソッドが呼び出された場合は、指定されたemptyValueがかわりに返されます。 これを使用して、たとえば、セット表記を使用して空のセットを表す文字列("{}")を作成できます。ここでは、prefixは"{"で、suffixは"}"であり、StringJoinerには何も追加されていません。
"[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(", "));
Collectors.joining(CharSequence), Collectors.joining(CharSequence, CharSequence, CharSequence)| コンストラクタ | 説明 |
|---|---|
StringJoiner(CharSequence delimiter) |
prefixおよびsuffixを指定せずに、指定されたdelimiterのコピーを使用して、文字を含まないStringJoinerを構築します。 |
StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix) |
指定された
prefix、delimiterおよびsuffixのコピーを使用して、文字を含まないStringJoinerを構築します。 |
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
StringJoiner |
add(CharSequence newElement) |
指定された
CharSequence値のコピーを、StringJoiner値の次の要素として追加します。 |
int |
length() |
この
StringJoinerのString表現の長さを返します。 |
StringJoiner |
merge(StringJoiner other) |
指定された
StringJoinerの接頭辞と接尾辞を除いた内容が空でない場合は、それを次の要素として追加します。 |
StringJoiner |
setEmptyValue(CharSequence emptyValue) |
この
StringJoinerの文字列表現を決定するときに要素がまだ追加されていない(つまり、空である)場合に使用する文字のシーケンスを設定します。 |
String |
toString() |
prefix、これまで追加された値(delimiterで区切られている)、およびsuffixで構成された現在の値を返します(追加された要素が1つもない場合を除く。その場合は、prefix + suffixまたはemptyValue文字が返される)。 |
public StringJoiner(CharSequence delimiter)
prefixおよびsuffixを指定せずに、指定されたdelimiterのコピーを使用して、文字を含まないStringJoinerを構築します。 StringJoinerに文字が追加されていないときに、その値にアクセスするメソッドが呼び出された場合、setEmptyValueが先に呼び出されていないかぎり、結果にはprefixやsuffix (またはそれらのプロパティ)は返されません。 delimiter - StringJoiner値に追加される各要素の間に使用する文字シーケンスNullPointerException - delimiterがnullである場合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である場合public StringJoiner setEmptyValue(CharSequence emptyValue)
StringJoinerの文字列表現を決定するときに要素がまだ追加されていない(つまり、空である)場合に使用する文字のシーケンスを設定します。 この目的のために、emptyValueパラメータのコピーが作成されます。 addメソッドが呼び出された後は、追加された要素が空のStringに相当する場合でも、StringJoinerは空とは見なされなくなります。 emptyValue - 空のStringJoinerの値として返す文字StringJoiner自体NullPointerException - emptyValueパラメータがnullである場合public String toString()
prefix、これまで追加された値(delimiterで区切られている)、およびsuffixで構成された現在の値を返します(追加された要素が1つもない場合を除く。その場合は、prefix + suffixまたはemptyValue文字が返される)。public StringJoiner add(CharSequence newElement)
CharSequence値のコピーを、StringJoiner値の次の要素として追加します。 newElementがnullの場合は、"null"が追加されます。 newElement - 追加する要素StringJoinerへの参照public StringJoiner merge(StringJoiner other)
StringJoinerの接頭辞と接尾辞を除いた内容が空でない場合は、それを次の要素として追加します。 指定されたStringJoinerが空の場合、この呼出しは何の効果も持ちません。
StringJoinerが空となるのは、add()が呼び出されたことがなく、merge()が空でないStringJoiner引数で呼び出されたことがない場合です。
他方のStringJoinerが別の区切り文字を使用している場合は、そのStringJoinerの要素がその区切り文字で連結され、その結果が単一の要素としてこのStringJoinerに追加されます。
other - このStringJoinerに内容をマージするStringJoinerStringJoinerNullPointerException - 他方のStringJoinerがnullである場合public int length()
StringJoinerのString表現の長さを返します。 addメソッドが呼び出されたことがない場合は、String表現(prefix + suffixまたはemptyValue)の長さが返されます。 値はtoString().length()と等しくなるはずです。 StringJoinerの現在値の長さ バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。