Class TextKit

java.lang.Object
org.aoju.bus.core.toolkit.TextKit
All Implemented Interfaces:
Serializable, Appendable, CharSequence

public class TextKit extends Object implements CharSequence, Appendable, Serializable
可复用的字符串生成器,非线程安全
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • TextKit

      public TextKit()
      构造
    • TextKit

      public TextKit(int initialCapacity)
      构造
      Parameters:
      initialCapacity - 初始容量
    • TextKit

      public TextKit(CharSequence... texts)
      构造
      Parameters:
      texts - 初始字符串
  • Method Details

    • create

      public static TextKit create()
      创建字符串构建器
      Returns:
      TextKit
    • create

      public static TextKit create(int initialCapacity)
      创建字符串构建器
      Parameters:
      initialCapacity - 初始容量
      Returns:
      TextKit
    • create

      public static TextKit create(CharSequence... texts)
      创建字符串构建器
      Parameters:
      texts - 初始字符串
      Returns:
      TextKit
    • similar

      public static double similar(String strA, String strB)
      计算相似度
      Parameters:
      strA - 字符串1
      strB - 字符串2
      Returns:
      相似度
    • similar

      public static String similar(String strA, String strB, int scale)
      计算相似度百分比
      Parameters:
      strA - 字符串1
      strB - 字符串2
      scale - 保留小数
      Returns:
      百分比
    • append

      public TextKit append(Object object)
      追加对象,对象会被转换为字符串
      Parameters:
      object - 对象
      Returns:
      this
    • append

      public TextKit append(char c)
      追加一个字符
      Specified by:
      append in interface Appendable
      Parameters:
      c - 字符
      Returns:
      this
    • append

      public TextKit append(char[] src)
      追加一个字符数组
      Parameters:
      src - 字符数组
      Returns:
      this
    • append

      public TextKit append(char[] src, int srcPos, int length)
      追加一个字符数组
      Parameters:
      src - 字符数组
      srcPos - 开始位置(包括)
      length - 长度
      Returns:
      this
    • append

      public TextKit append(CharSequence csq)
      Specified by:
      append in interface Appendable
    • append

      public TextKit append(CharSequence csq, int start, int end)
      Specified by:
      append in interface Appendable
    • insert

      public TextKit insert(int index, Object object)
      追加对象,对象会被转换为字符串
      Parameters:
      index - 位置
      object - 对象
      Returns:
      this
    • insert

      public TextKit insert(int index, char c)
      插入指定字符
      Parameters:
      index - 位置
      c - 字符
      Returns:
      this
    • insert

      public TextKit insert(int index, char[] src)
      指定位置插入数据 如果插入位置为当前位置,则定义为追加 如果插入位置大于当前位置,则中间部分补充空格
      Parameters:
      index - 插入位置
      src - 源数组
      Returns:
      this
    • insert

      public TextKit insert(int index, char[] src, int srcPos, int length)
      指定位置插入数据 如果插入位置为当前位置,则定义为追加 如果插入位置大于当前位置,则中间部分补充空格
      Parameters:
      index - 插入位置
      src - 源数组
      srcPos - 位置
      length - 长度
      Returns:
      this
    • insert

      public TextKit insert(int index, CharSequence csq)
      指定位置插入字符串的某个部分 如果插入位置为当前位置,则定义为追加 如果插入位置大于当前位置,则中间部分补充空格
      Parameters:
      index - 位置
      csq - 字符串
      Returns:
      this
    • insert

      public TextKit insert(int index, CharSequence csq, int start, int end)
      指定位置插入字符串的某个部分 如果插入位置为当前位置,则定义为追加 如果插入位置大于当前位置,则中间部分补充空格
      Parameters:
      index - 位置
      csq - 字符串
      start - 字符串开始位置(包括)
      end - 字符串结束位置(不包括)
      Returns:
      this
    • getChars

      public TextKit getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
      将指定段的字符列表写出到目标字符数组中
      Parameters:
      srcBegin - 起始位置(包括)
      srcEnd - 结束位置(不包括)
      dst - 目标数组
      dstBegin - 目标起始位置(包括)
      Returns:
      this
    • hasContent

      public boolean hasContent()
      是否有内容
      Returns:
      是否有内容
    • isEmpty

      public boolean isEmpty()
      是否为空
      Specified by:
      isEmpty in interface CharSequence
      Returns:
      是否为空
    • clear

      public TextKit clear()
      删除全部字符,位置归零
      Returns:
      this
    • reset

      public TextKit reset()
      删除全部字符,位置归零
      Returns:
      this
    • delTo

      public TextKit delTo(int newPosition)
      删除到指定位置 如果新位置小于等于0,则删除全部
      Parameters:
      newPosition - 新的位置,不包括这个位置
      Returns:
      this
    • del

      public TextKit del(int start, int end)
      删除指定长度的字符
      Parameters:
      start - 开始位置(包括)
      end - 结束位置(不包括)
      Returns:
      this
    • toString

      public String toString(boolean isReset)
      生成字符串
      Parameters:
      isReset - 是否重置,重置后相当于空的构建器
      Returns:
      生成的字符串
    • toStringAndReset

      public String toStringAndReset()
      重置并返回生成的字符串
      Returns:
      字符串
    • toString

      public String toString()
      生成字符串
      Specified by:
      toString in interface CharSequence
      Overrides:
      toString in class Object
    • length

      public int length()
      Specified by:
      length in interface CharSequence
    • charAt

      public char charAt(int index)
      Specified by:
      charAt in interface CharSequence
    • subSequence

      public CharSequence subSequence(int start, int end)
      Specified by:
      subSequence in interface CharSequence
    • subString

      public String subString(int start)
      返回自定段的字符串
      Parameters:
      start - 开始位置(包括)
      Returns:
      this
    • subString

      public String subString(int start, int end)
      返回自定段的字符串
      Parameters:
      start - 开始位置(包括)
      end - 结束位置(不包括)
      Returns:
      this