Package org.aoju.bus.core.text
Class TextJoiner
java.lang.Object
org.aoju.bus.core.text.TextJoiner
- All Implemented Interfaces:
Serializable,Appendable
字符连接器(拼接器),通过给定的字符串和多个元素,拼接为一个字符串
- Since:
- Java 17+
- Author:
- Kimi Liu
- See Also:
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionTextJoiner(Appendable appendable, CharSequence delimiter) 构造TextJoiner(Appendable appendable, CharSequence delimiter, CharSequence prefix, CharSequence suffix) 构造TextJoiner(CharSequence delimiter) 构造TextJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix) 构造 -
Method Summary
Modifier and TypeMethodDescriptionappend(char c) append(CharSequence text) append(CharSequence text, int startInclude, int endExclude) <E> TextJoinerappend(Iterable<E> iterable, Function<? super E, ? extends CharSequence> func) 追加Iterator中的元素到拼接器中<E> TextJoinerappend(Iterator<E> iterator, Function<? super E, ? extends CharSequence> func) 追加Iterator中的元素到拼接器中<T> TextJoiner追加Iterator中的元素到拼接器中<T> TextJoinerappend(T[] array) 追加数组中的元素到拼接器中<T> TextJoinerappend(T[] array, Function<T, ? extends CharSequence> func) 追加数组中的元素到拼接器中intlength()长度 长度计算方式为prefix + suffix + content 此方法结果与toString().length()一致merge(TextJoiner joiner) 合并一个TextJoiner 到当前的TextJoiner 合并规则为,在尾部直接追加,当存在prefix时,如果wrapElement为false,则去除之static TextJoinerof(CharSequence delimiter) 使用指定分隔符创建TextJoinerstatic TextJoinerof(CharSequence delimiter, CharSequence prefix, CharSequence suffix) 使用指定分隔符创建TextJoinerstatic TextJoinerof(TextJoiner joiner) 根据已有TextJoiner配置新建一个新的TextJoinersetDelimiter(CharSequence delimiter) 设置分隔符setEmptyResult(String text) 设置当没有任何元素加入时,默认返回的字符串,默认""setNullMode(TextJoiner.NullMode nullMode) 设置null元素处理逻辑setPrefix(CharSequence prefix) 设置前缀setSuffix(CharSequence suffix) 设置后缀setWrapElement(boolean wrapElement) 设置前缀和后缀是否包装每个元素toString()
-
Constructor Details
-
TextJoiner
-
TextJoiner
构造- Parameters:
appendable- 字符串追加器,拼接的字符串都将加入到此,null使用默认StringBuilderdelimiter- 分隔符,null表示无连接符,直接拼接
-
TextJoiner
构造- Parameters:
delimiter- 分隔符,null表示无连接符,直接拼接prefix- 前缀suffix- 后缀
-
TextJoiner
public TextJoiner(Appendable appendable, CharSequence delimiter, CharSequence prefix, CharSequence suffix) 构造- Parameters:
appendable- 字符串追加器,拼接的字符串都将加入到此,null使用默认StringBuilderdelimiter- 分隔符,null表示无连接符,直接拼接prefix- 前缀suffix- 后缀
-
-
Method Details
-
of
根据已有TextJoiner配置新建一个新的TextJoiner- Parameters:
joiner- 已有TextJoiner- Returns:
- 新的TextJoiner,配置相同
-
of
使用指定分隔符创建TextJoiner- Parameters:
delimiter- 分隔符- Returns:
- TextJoiner
-
of
使用指定分隔符创建TextJoiner- Parameters:
delimiter- 分隔符prefix- 前缀suffix- 后缀- Returns:
- TextJoiner
-
setDelimiter
设置分隔符- Parameters:
delimiter- 分隔符- Returns:
- this
-
setPrefix
-
setSuffix
-
setWrapElement
设置前缀和后缀是否包装每个元素- Parameters:
wrapElement- true表示包装每个元素,false包装整个字符串- Returns:
- this
-
setNullMode
设置null元素处理逻辑- Parameters:
nullMode- 逻辑枚举,可选忽略、转换为""或转换为null字符串- Returns:
- this
-
setEmptyResult
设置当没有任何元素加入时,默认返回的字符串,默认""- Parameters:
text- 默认字符串- Returns:
- this
-
append
- Parameters:
object- 对象,支持数组、集合等- Returns:
- this
-
append
追加数组中的元素到拼接器中- Type Parameters:
T- 元素类型- Parameters:
array- 元素数组- Returns:
- this
-
append
追加Iterator中的元素到拼接器中- Type Parameters:
T- 元素类型- Parameters:
iterator- 元素列表- Returns:
- this
-
append
追加数组中的元素到拼接器中- Type Parameters:
T- 元素类型- Parameters:
array- 元素数组func- 元素对象转换为字符串的函数- Returns:
- this
-
append
追加Iterator中的元素到拼接器中- Type Parameters:
E- 元素类型- Parameters:
iterable- 元素列表func- 元素对象转换为字符串的函数- Returns:
- this
-
append
追加Iterator中的元素到拼接器中- Type Parameters:
E- 元素类型- Parameters:
iterator- 元素列表func- 元素对象转换为字符串的函数- Returns:
- this
-
append
- Specified by:
appendin interfaceAppendable
-
append
- Specified by:
appendin interfaceAppendable
-
append
- Specified by:
appendin interfaceAppendable
-
toString
-
merge
合并一个TextJoiner 到当前的TextJoiner 合并规则为,在尾部直接追加,当存在prefix时,如果wrapElement为false,则去除之- Parameters:
joiner- 其他的TextJoiner- Returns:
- this
-
length
public int length()长度 长度计算方式为prefix + suffix + content 此方法结果与toString().length()一致- Returns:
- 长度,如果结果为
null,返回-1
-