模块 wjybxx.base
程序包 cn.wjybxx.base

类 EnumUtils

java.lang.Object
cn.wjybxx.base.EnumUtils

public class EnumUtils extends Object
作者:
wjybxx date 2023/4/1
  • 方法详细资料

    • forName

      @Nullable public static <T extends Enum<T>> T forName(List<T> values, String name)
      通过名字查找枚举。 与Enum.valueOf(Class, String)区别在于返回null代替抛出异常。
      类型参数:
      T - 枚举类型
      参数:
      values - 枚举集合
      name - 要查找的枚举名字
      返回:
      T
    • forNameIgnoreCase

      public static <T extends Enum<T>> T forNameIgnoreCase(List<T> values, String name)
      通过名字查找枚举(忽略名字的大小写)。 与Enum.valueOf(Class, String)区别在于返回null代替抛出异常。
      类型参数:
      T - 枚举类型
      参数:
      values - 枚举集合
      name - 要查找的枚举名字
      返回:
      T
    • toBitSet

      @SafeVarargs public static <T extends Enum<T>> BitSet toBitSet(T... values)
    • toBitSet

      public static <T extends Enum<T>> BitSet toBitSet(Collection<T> values)
    • checkNumberDuplicate

      public static <T> void checkNumberDuplicate(List<T> values, ToIntFunction<? super T> func)
      检查枚举中的number是否存在重复
    • checkNumberContinuity

      public static <T> void checkNumberContinuity(List<T> values, @Nullable Integer baseNumber, ToIntFunction<? super T> func)
      检查枚举中的number是否连续 注意:如果集合为空的话,这里不会抛出异常
      参数:
      baseNumber - 期望的起始数字,null表示无要求
    • isNumberContinuity

      public static <T> OptionalBool isNumberContinuity(List<T> values, ToIntFunction<? super T> func)
      枚举的数字是否连续
      返回:
      如果集合为空,也返回true
    • checkNumberContinuity

      public static <T extends EnumLite> void checkNumberContinuity(List<T> values, @Nullable Integer baseNumber)
      检查枚举的number是从指定值开始且连续
      参数:
      baseNumber - 初始值,null表示不限定
    • checkNumberDuplicate

      public static <T extends EnumLite> void checkNumberDuplicate(List<T> values)
      检查枚举中的number是否存在重复
    • isNumberContinuity

      public static <T extends EnumLite> OptionalBool isNumberContinuity(List<T> values)
      枚举的数字是否连续
      返回:
      如果集合为空,也返回true
    • mapping

      public static <T extends EnumLite> EnumLiteMap<T> mapping(T[] values)
      根据枚举的values建立索引;
      类型参数:
      T - 枚举类型
      参数:
      values - 枚举数组
      返回:
      unmodifiable
    • mapping

      public static <T extends EnumLite> EnumLiteMap<T> mapping(T[] values, boolean fastQuery)
      根据枚举的values建立索引;
      类型参数:
      T - 枚举类型
      参数:
      values - 枚举数组
      fastQuery - 是否追求极致的查询性能
      返回:
      Mapper