- 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
- 関連項目:
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を構築します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 StringJoineradd(CharSequence newElement)指定されたCharSequence値のコピーを、StringJoiner値の次の要素として追加します。intlength()このStringJoinerのString表現の長さを返します。StringJoinermerge(StringJoiner other)指定されたStringJoinerの接頭辞と接尾辞を除いた内容が空でない場合は、それを次の要素として追加します。StringJoinersetEmptyValue(CharSequence emptyValue)このStringJoinerの文字列表現を決定するときに要素がまだ追加されていない(つまり、空である)場合に使用する文字のシーケンスを設定します。StringtoString()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
public String toString()
prefix、これまで追加された値(delimiterで区切られている)、およびsuffixで構成された現在の値を返します(追加された要素が1つもない場合を除く。その場合は、prefix + suffixまたはemptyValue文字が返される)。
-
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の現在値の長さ
-
-