- java.lang.Object
-
- java.util.StringJoiner
-
public final class StringJoiner extends Object
StringJoiner用于构建由分隔符分隔的字符序列,并且可选地从提供的前缀开始,并以提供的后缀结尾。在向
StringJoiner添加内容之前,其sj.toString()方法将默认返回prefix + suffix。 但是,如果调用了setEmptyValue方法,则将返回提供的emptyValue。 这可用于,例如,使用一组表示法来表示空集,即创建字符串时"{}",其中prefix是"{"时,suffix是"}"和什么也没有添加到StringJoiner。- API Note:
-
字符串
"[George:Sally:Fred]"可以被构造如下:StringJoiner sj = new StringJoiner(":", "[", "]"); sj.add("George").add("Sally").add("Fred"); String desiredString = sj.toString();A
StringJoiner可以用于使用Collectors.joining(CharSequence)从Stream创建格式化的输出。 例如: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)
-
-
构造方法摘要
构造方法 Constructor 描述 StringJoiner(CharSequence delimiter)构造一个StringJoiner与其中不带字符,没有prefix或suffix,和所提供的副本delimiter。StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)构造一个StringJoiner使用的供给拷贝在不带字符prefix,delimiter和suffix。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 StringJoineradd(CharSequence newElement)将给定的副本CharSequence值作为下一个元素StringJoiner值。intlength()返回此StringJoiner的String表示的StringJoiner。StringJoinermerge(StringJoiner other)添加给定的StringJoiner的内容,不带前缀和后缀作为下一个元素,如果它是非空的。StringJoinersetEmptyValue(CharSequence emptyValue)设置确定StringJoiner的字符串表示时使用的字符序列,并且尚未添加任何元素,即当它为空时。StringtoString()返回当前值,由prefix,由delimiter分隔的值以及suffix,除非没有添加任何元素,否则返回prefix + suffix或emptyValue字符。
-
-
-
构造方法详细信息
-
StringJoiner
public StringJoiner(CharSequence delimiter)
构造一个StringJoiner其中没有字符,没有prefix或suffix,以及所提供的delimiter的副本。 如果没有字符被添加到StringJoiner种方法访问它被调用的值,它不会返回一个prefix或suffix在结果(或其特性),除非setEmptyValue已首先被调用。- 参数
-
delimiter- 要添加到StringJoiner每个元素之间的字符序列 - 异常
-
NullPointerException- 如果delimiter是null
-
StringJoiner
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
-
-
方法详细信息
-
setEmptyValue
public StringJoiner setEmptyValue(CharSequence emptyValue)
设置在确定此StringJoiner的字符串表示时使用的字符序列,并且尚未添加任何元素,即当它为空时。 为此目的提供emptyValue参数的副本。 请注意,一旦调用了一个add方法,StringJoiner不再被认为是空的,即使添加的元素对应于空的String。- 参数
-
emptyValue- 返回值为空的StringJoiner - 结果
-
这个
StringJoiner本身就可以连接这些通话 - 异常
-
NullPointerException- 当emptyValue参数是null
-
toString
public String toString()
返回当前值,由的prefix,值加入迄今由分离delimiter和suffix,除非没有元素已经在这种情况下,被添加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 - 异常
-
NullPointerException- 如果其他StringJoiner为空
-
length
public int length()
返回此StringJoiner的String表示的StringJoiner。 请注意,如果未调用add方法,则将返回String表示(prefix + suffix或emptyValue)的长度。 该值应相当于toString().length()。- 结果
-
当前值的长度为
StringJoiner
-
-