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に内容をマージするStringJoiner
StringJoiner
NullPointerException
- 他方のStringJoiner
がnullである場合public int length()
StringJoiner
のString
表現の長さを返します。addメソッドが呼び出されたことがない場合は、String
表現(prefix + suffix
またはemptyValue
)の長さが返されます。値はtoString().length()
と等しくなるはずです。StringJoiner
の現在値の長さ バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.