java.lang.Object
java.util.StringJoiner
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();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
- 参见:
-
构造方法总结
构造方法构造方法描述StringJoiner(CharSequence delimiter) 构造一个StringJoiner其中没有字符,没有prefix或suffix,以及提供的delimiter的副本。StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix) 使用提供的prefix、delimiter和suffix的副本构造一个其中没有字符的StringJoiner。 -
方法总结
修饰符和类型方法描述add(CharSequence newElement) 添加给定CharSequence值的副本作为StringJoiner值的下一个元素。intlength()返回此StringJoiner的String表示的长度。merge(StringJoiner other) 添加给定StringJoiner的内容,如果它不为空,则不带前缀和后缀作为下一个元素。setEmptyValue(CharSequence emptyValue) 设置在确定此StringJoiner的字符串表示形式时要使用的字符序列,并且尚未添加任何元素,即当它为空时。toString()返回当前值,由prefix组成,到目前为止添加的值由delimiter和suffix分隔,除非没有添加任何元素,在这种情况下,将返回prefix + suffix或emptyValue字符。
-
构造方法详细信息
-
StringJoiner
构造一个StringJoiner其中没有字符,没有prefix或suffix,以及提供的delimiter的副本。如果没有字符被添加到StringJoiner并且调用了访问它的值的方法,它不会在结果中返回prefix或suffix(或其属性),除非setEmptyValue已经被首先调用。- 参数:
delimiter- 添加到StringJoiner值的每个元素之间要使用的字符序列- 抛出:
NullPointerException- 如果delimiter是null
-
StringJoiner
使用提供的prefix、delimiter和suffix的副本构造一个其中没有字符的StringJoiner。如果没有向StringJoiner添加任何字符并且调用了访问它的字符串值的方法,它将在结果中返回prefix + suffix(或其属性),除非首先调用了setEmptyValue。- 参数:
delimiter- 添加到StringJoiner的每个元素之间要使用的字符序列prefix- 开头使用的字符序列suffix- 最后要使用的字符序列- 抛出:
NullPointerException- 如果prefix、delimiter或suffix是null
-
-
方法详情
-
setEmptyValue
设置在确定此StringJoiner的字符串表示形式时要使用的字符序列,并且尚未添加任何元素,即当它为空时。为此制作了emptyValue参数的副本。请注意,一旦调用了 add 方法,StringJoiner就不再被视为空的,即使添加的元素对应于空的String也是如此。- 参数:
emptyValue- 作为空值返回的字符StringJoiner- 返回:
-
这个
StringJoiner本身所以调用可能被链接 - 抛出:
NullPointerException- 当emptyValue参数为null
-
toString
返回当前值,由prefix组成,到目前为止添加的值由delimiter和suffix分隔,除非没有添加任何元素,在这种情况下,将返回prefix + suffix或emptyValue字符。 -
add
添加给定CharSequence值的副本作为StringJoiner值的下一个元素。如果newElement是null,则添加"null"。- 参数:
newElement- 要添加的元素- 返回:
-
对此
StringJoiner的引用
-
merge
添加给定StringJoiner的内容,如果它不为空,则不带前缀和后缀作为下一个元素。如果给定的StringJoiner为空,则调用无效。如果从未调用过
add(),并且从未使用非空的StringJoiner参数调用过merge(),则StringJoiner为空。如果另一个
StringJoiner使用不同的分隔符,则来自另一个StringJoiner的元素将与该分隔符连接,并将结果作为单个元素附加到此StringJoiner。- 参数:
other-StringJoiner其内容应该合并到这个- 返回:
-
这个
StringJoiner - 抛出:
NullPointerException- 如果另一个StringJoiner为空
-
length
public int length()返回此StringJoiner的String表示的长度。请注意,如果未调用任何添加方法,则将返回String表示形式(prefix + suffix或emptyValue)的长度。该值应等于toString().length()。- 返回:
StringJoiner的当前值的长度
-