Module bus.core

Class Range<T>

java.lang.Object
org.miaixz.bus.core.lang.range.Range<T>
Type Parameters:
T - 生成范围对象的类型
All Implemented Interfaces:
Serializable, Iterable<T>
Direct Known Subclasses:
Boundary

public class Range<T> extends Object implements Iterable<T>, Serializable
范围生成器。根据给定的初始值、结束值和步进生成一个步进列表生成器 由于用户自行实现Range.Stepper来定义步进,因此Range本身无法判定边界(是否达到end),需在step实现边界判定逻辑。

此类使用ReentrantReadWriteLock保证线程安全

Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • Range

      public Range(T start, Range.Stepper<T> stepper)
      构造
      Parameters:
      start - 起始对象(包括)
      stepper - 步进
    • Range

      public Range(T start, T end, Range.Stepper<T> stepper)
      构造
      Parameters:
      start - 起始对象(包含)
      end - 结束对象(包含)
      stepper - 步进
    • Range

      public Range(T start, T end, Range.Stepper<T> stepper, boolean isIncludeStart, boolean isIncludeEnd)
      构造
      Parameters:
      start - 起始对象
      end - 结束对象
      stepper - 步进
      isIncludeStart - 是否包含第一个元素
      isIncludeEnd - 是否包含最后一个元素
  • Method Details