Class StringSplitter

All Implemented Interfaces:
Serializable, Iterator<String>

public class StringSplitter extends ComputeIterator<String> implements Serializable
字符串切分迭代器 此迭代器是字符串切分的懒模式实现,实例化后不完成切分,只有调用ComputeIterator.hasNext()或遍历时才完成切分 此迭代器非线程安全
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • StringSplitter

      public StringSplitter(CharSequence text, TextFinder separatorFinder, int limit, boolean ignoreEmpty)
      构造
      Parameters:
      text - 文本,不能为null
      separatorFinder - 分隔符匹配器
      limit - 限制数量,小于等于0表示无限制
      ignoreEmpty - 是否忽略""
  • Method Details

    • computeNext

      protected String computeNext()
      Description copied from class: ComputeIterator
      计算新的节点,通过实现此方法,当调用ComputeIterator.hasNext()时将此方法产生的节点缓存,直到调用ComputeIterator.next()取出 当无下一个节点时,须返回null表示遍历结束
      Specified by:
      computeNext in class ComputeIterator<String>
      Returns:
      节点值
    • reset

      public void reset()
      重置
    • toArray

      public String[] toArray(boolean trim)
      获取切分后的对象数组
      Parameters:
      trim - 是否去除元素两边空格
      Returns:
      切分后的列表
    • toList

      public List<String> toList(boolean trim)
      获取切分后的对象列表
      Parameters:
      trim - 是否去除元素两边空格
      Returns:
      切分后的列表
    • toList

      public <T> List<T> toList(Function<String,T> mapping)
      获取切分后的对象列表
      Type Parameters:
      T - 元素类型
      Parameters:
      mapping - 字符串映射函数
      Returns:
      切分后的列表