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();
甲StringJoiner可以用来创建从格式化输出Stream使用Collectors.joining(CharSequence) 。 例如:
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)
| Constructor and Description |
|---|
StringJoiner(CharSequence delimiter)
构造一个
StringJoiner与其中不带字符,没有
prefix或
suffix ,以及所提供的副本
delimiter 。
|
StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
构造一个
StringJoiner使用的供给拷贝在不带字符
prefix ,
delimiter和
suffix 。
|
| Modifier and Type | Method and Description |
|---|---|
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 ,除非没有元素已经在这种情况下,被添加
prefix + suffix或
emptyValue被返回的字符
|
public StringJoiner(CharSequence delimiter)
StringJoiner与其中不带字符,没有prefix或suffix ,以及所提供的副本delimiter 。
如果没有字符被添加到StringJoiner种方法访问它被调用的值,它不会返回一个prefix或suffix在结果(或其特性),除非setEmptyValue已首先被调用。
delimiter - 要添加到每个元素之间的字符序列
StringJoiner值
NullPointerException - 如果
delimiter是
null
public StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
StringJoiner使用的供给拷贝在不带字符prefix , delimiter和suffix 。
如果没有字符被添加到StringJoiner ,并且访问其字符串值的方法被调用,则返回结果中的prefix + suffix (或其属性),除非首先调用了setEmptyValue 。
delimiter - 要添加到每个元素之间的
StringJoiner
prefix - 开头使用的字符序列
suffix - 最后使用的字符序列
NullPointerException -如果
prefix ,
delimiter ,或
suffix是
null
public StringJoiner setEmptyValue(CharSequence emptyValue)
StringJoiner和没有元件已经被添加,即,当它是空的。
为此目的提供了emptyValue参数的副本。
请注意,一旦调用了add方法, StringJoiner不再被StringJoiner是空的,即使添加的元素对应于空的String 。
emptyValue - 返回的字符为空值
StringJoiner
StringJoiner本身就可以挂断电话
NullPointerException - 当
emptyValue参数是
null
public String toString()
prefix ,值添加由迄今分离
delimiter和
suffix ,除非没有元素已经在这种情况下,被添加
prefix + suffix或
emptyValue被返回的字符
public StringJoiner add(CharSequence newElement)
CharSequence值作为下一个元素StringJoiner值。
如果newElement是null ,则添加"null" 。
newElement - 要添加的元素
StringJoiner
public StringJoiner merge(StringJoiner other)
StringJoiner的内容,没有前缀和后缀作为下一个元素,如果它是非空的。
如果给定的StringJoiner为空,则该呼叫不起作用。
如果add()从未被调用,则StringJoiner为空,如果merge()从未使用非空StringJoiner参数调用。
如果另一个StringJoiner正在使用不同的分隔符,则来自另一个StringJoiner元素将与该分隔符连接,并将结果附加到该StringJoiner作为单个元素。
other -
StringJoiner的内容应该合并到这个
StringJoiner
NullPointerException - 如果其他
StringJoiner为空
public int length()
StringJoiner的String表示的长度。
请注意,如果没有调用add方法,那么将返回String表示( prefix + suffix或emptyValue )的长度。
该值应相当于toString().length() 。
StringJoiner
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.