- 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();甲
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(", ")); - 从以下版本开始:
- 1.8
- 另请参见:
-
Collectors.joining(CharSequence),Collectors.joining(CharSequence, CharSequence, CharSequence)
-
-
构造方法摘要
构造方法 构造器 描述 StringJoiner(CharSequence delimiter)构造一个StringJoiner与其中不带字符,没有prefix或suffix,和所提供的副本delimiter。StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)构造一个StringJoiner使用的供给拷贝在不带字符prefix,delimiter和suffix。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 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本身就可以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。 请注意,如果未调用任何添加方法,则将返回String表示(prefix + suffix或emptyValue)的长度。 该值应等于toString().length()。- 结果
-
当前值的长度为
StringJoiner
-
-