类 StrJoiner

  • 所有已实现的接口:
    Serializable, Appendable

    public class StrJoiner
    extends Object
    implements Appendable, Serializable
    字符串连接器(拼接器),通过给定的字符串和多个元素,拼接为一个字符串
    相较于StringJoiner提供更加灵活的配置,包括:
    • 支持任意Appendable接口实现
    • 支持每个元素单独wrap
    • 支持自定义null的处理逻辑
    • 支持自定义默认结果
    另请参阅:
    序列化表格
    • 构造器详细资料

      • StrJoiner

        public StrJoiner​(CharSequence delimiter)
        构造
        参数:
        delimiter - 分隔符,null表示无连接符,直接拼接
      • StrJoiner

        public StrJoiner​(Appendable appendable,
                         CharSequence delimiter)
        构造
        参数:
        appendable - 字符串追加器,拼接的字符串都将加入到此,null使用默认StringBuilder
        delimiter - 分隔符,null表示无连接符,直接拼接
      • StrJoiner

        public StrJoiner​(CharSequence delimiter,
                         CharSequence prefix,
                         CharSequence suffix)
        构造
        参数:
        delimiter - 分隔符,null表示无连接符,直接拼接
        prefix - 前缀
        suffix - 后缀
      • StrJoiner

        public StrJoiner​(Appendable appendable,
                         CharSequence delimiter,
                         CharSequence prefix,
                         CharSequence suffix)
        构造
        参数:
        appendable - 字符串追加器,拼接的字符串都将加入到此,null使用默认StringBuilder
        delimiter - 分隔符,null表示无连接符,直接拼接
        prefix - 前缀
        suffix - 后缀
    • 方法详细资料

      • of

        @NotNull
        public static @NotNull StrJoiner of​(@NotNull
                                            @NotNull StrJoiner joiner)
        根据已有StrJoiner配置新建一个新的StrJoiner
        参数:
        joiner - 已有StrJoiner
        返回:
        新的StrJoiner,配置相同
      • of

        @Contract("_ -> new")
        @NotNull
        public static @NotNull StrJoiner of​(CharSequence delimiter)
        使用指定分隔符创建StrJoiner
        参数:
        delimiter - 分隔符
        返回:
        StrJoiner
      • of

        @Contract("_, _, _ -> new")
        @NotNull
        public static @NotNull StrJoiner of​(CharSequence delimiter,
                                            CharSequence prefix,
                                            CharSequence suffix)
        使用指定分隔符创建StrJoiner
        参数:
        delimiter - 分隔符
        prefix - 前缀
        suffix - 后缀
        返回:
        StrJoiner
      • setDelimiter

        public StrJoiner setDelimiter​(CharSequence delimiter)
        设置分隔符
        参数:
        delimiter - 分隔符
        返回:
        this
      • setPrefix

        public StrJoiner setPrefix​(CharSequence prefix)
        设置前缀
        参数:
        prefix - 前缀
        返回:
        this
      • setSuffix

        public StrJoiner setSuffix​(CharSequence suffix)
        设置后缀
        参数:
        suffix - 后缀
        返回:
        this
      • setWrapElement

        public StrJoiner setWrapElement​(boolean wrapElement)
        设置前缀和后缀是否包装每个元素
        参数:
        wrapElement - true表示包装每个元素,false包装整个字符串
        返回:
        this
      • setNullMode

        public StrJoiner setNullMode​(StrJoiner.NullMode nullMode)
        设置null元素处理逻辑
        参数:
        nullMode - 逻辑枚举,可选忽略、转换为""或转换为null字符串
        返回:
        this
      • setEmptyResult

        public StrJoiner setEmptyResult​(String emptyResult)
        设置当没有任何元素加入时,默认返回的字符串,默认""
        参数:
        emptyResult - 默认字符串
        返回:
        this
      • append

        public StrJoiner append​(Object obj)
        追加对象到拼接器中
        参数:
        obj - 对象,支持数组、集合等
        返回:
        this
      • append

        public <T> StrJoiner append​(T[] array)
        追加数组中的元素到拼接器中
        类型参数:
        T - 元素类型
        参数:
        array - 元素数组
        返回:
        this
      • append

        public <T> StrJoiner append​(Iterator<T> iterator)
        追加Iterator中的元素到拼接器中
        类型参数:
        T - 元素类型
        参数:
        iterator - 元素列表
        返回:
        this
      • append

        public <T> StrJoiner append​(T[] array,
                                    java.util.function.Function<T,​? extends CharSequence> toStrFunc)
        追加数组中的元素到拼接器中
        类型参数:
        T - 元素类型
        参数:
        array - 元素数组
        toStrFunc - 元素对象转换为字符串的函数
        返回:
        this
      • append

        public <E> StrJoiner append​(@NotNull
                                    @NotNull Iterable<E> iterable,
                                    java.util.function.Function<? super E,​? extends CharSequence> toStrFunc)
        追加Iterator中的元素到拼接器中
        类型参数:
        E - 元素类型
        参数:
        iterable - 元素列表
        toStrFunc - 元素对象转换为字符串的函数
        返回:
        this
      • append

        public <E> StrJoiner append​(Iterator<E> iterator,
                                    java.util.function.Function<? super E,​? extends CharSequence> toStrFunc)
        追加Iterator中的元素到拼接器中
        类型参数:
        E - 元素类型
        参数:
        iterator - 元素列表
        toStrFunc - 元素对象转换为字符串的函数
        返回:
        this
      • merge

        public StrJoiner merge​(StrJoiner strJoiner)
        合并一个StrJoiner 到当前的StrJoiner
        合并规则为,在尾部直接追加,当存在prefix时,如果wrapElementfalse,则去除之。
        参数:
        strJoiner - 其他的StrJoiner
        返回:
        this
      • length

        public int length()
        长度
        长度计算方式为prefix + suffix + content
        此方法结果与toString().length()一致。
        返回:
        长度,如果结果为null,返回-1