public class EnumUtils extends Object
| Constructor and Description |
|---|
EnumUtils() |
| Modifier and Type | Method and Description |
|---|---|
static <E extends Enum<E>> |
contains(Class<E> enumClass,
String val)
判断某个值是存在枚举中
|
static boolean |
equals(Enum<?> e,
String val)
检查某个枚举值是否匹配指定值
|
static boolean |
equalsIgnoreCase(Enum<?> e,
String val)
忽略大小检查某个枚举值是否匹配指定值
|
static <E extends Enum<E>> |
fromString(Class<E> enumClass,
String value)
字符串转枚举,调用
Enum.valueOf(Class, String) |
static <E extends Enum<E>> |
fromString(Class<E> enumClass,
String value,
E defaultValue)
字符串转枚举,调用
Enum.valueOf(Class, String)如果无枚举值,返回默认值 |
static <E extends Enum<E>> |
fromStringQuietly(Class<E> enumClass,
String value)
字符串转枚举,调用
Enum.valueOf(Class, String),转换失败返回null 而非报错 |
static <E extends Enum<E>> |
generateBitVector(Class<E> enumClass,
E... values)
创建给定Enum值数组的长位向量表示
|
static <E extends Enum<E>> |
generateBitVector(Class<E> enumClass,
Iterable<? extends E> values)
创建Enum的给定子集的长位向量表示
|
static <E extends Enum<E>> |
generateBitVectors(Class<E> enumClass,
E... values)
根据需要使用任意数量的
long创建Enum的给定子集的位向量表示 |
static <E extends Enum<E>> |
generateBitVectors(Class<E> enumClass,
Iterable<? extends E> values)
根据需要使用任意数量的
long创建Enum的给定子集的位向量表示 |
static <E extends Enum<E>> |
getEnum(Class<E> enumClass,
String enumName)
获取类的枚举,如果没有找到,则返回
null |
static <E extends Enum<E>> |
getEnumIgnoreCase(Class<E> enumClass,
String enumName)
获取类的枚举,如果没有找到,则返回
null |
static <E extends Enum<E>> |
getEnumList(Class<E> enumClass)
获取枚举的
List |
static <E extends Enum<E>> |
getEnumMap(Class<E> enumClass)
获取枚举字符串值和枚举对象的Map对应,使用LinkedHashMap保证有序
结果中键为枚举名,值为枚举对象 |
static List<String> |
getFieldNames(Class<? extends Enum<?>> clazz)
获得枚举类中所有的字段名
除用户自定义的字段名,也包括“name”字段,例如: |
static List<Object> |
getFieldValues(Class<? extends Enum<?>> clazz,
String fieldName)
获得枚举类中各枚举对象下指定字段的值
|
static Map<String,Object> |
getNameFieldMap(Class<? extends Enum<?>> clazz,
String fieldName)
获得枚举名对应指定字段值的Map
键为枚举名,值为字段值 |
static List<String> |
getNames(Class<? extends Enum<?>> clazz)
枚举类中所有枚举对象的name列表
|
static boolean |
isEnum(Class<?> clazz)
指定类是否为Enum类
|
static boolean |
isEnum(Object obj)
指定类是否为Enum类
|
static <E extends Enum<E>> |
isValidEnum(Class<E> enumClass,
String enumName)
检查指定的名称是否是类的有效枚举
|
static <E extends Enum<E>> |
isValidEnumIgnoreCase(Class<E> enumClass,
String enumName)
检查指定的名称是否是类的有效枚举
|
static <E extends Enum<E>> |
likeValueOf(Class<E> enumClass,
Object value)
模糊匹配转换为枚举,给定一个值,匹配枚举中定义的所有字段名(包括name属性),一旦匹配到返回这个枚举对象,否则返回null
|
static <E extends Enum<E>> |
notContains(Class<E> enumClass,
String val)
判断某个值是不存在枚举中
|
static <E extends Enum<E>> |
processBitVector(Class<E> enumClass,
long value)
将
generateBitVector(java.lang.Class<E>, java.lang.Iterable<? extends E>)创建的长值转换为它所表示的enum值集 |
static <E extends Enum<E>> |
processBitVectors(Class<E> enumClass,
long... values)
将
generateBitVectors(java.lang.Class<E>, java.lang.Iterable<? extends E>)
创建的long[]转换为它所表示的一组enum值 |
static String |
toString(Enum<?> e)
Enum对象转String,调用
Enum.name() 方法 |
public static boolean isEnum(Class<?> clazz)
clazz - 类public static boolean isEnum(Object obj)
obj - 类public static String toString(Enum<?> e)
Enum.name() 方法e - Enumpublic static <E extends Enum<E>> E fromString(Class<E> enumClass, String value)
Enum.valueOf(Class, String)E - 枚举类型泛型enumClass - 枚举类value - 值public static <E extends Enum<E>> E fromString(Class<E> enumClass, String value, E defaultValue)
Enum.valueOf(Class, String)E - 枚举类型泛型enumClass - 枚举类value - 值defaultValue - 无对应枚举值返回的默认值public static <E extends Enum<E>> E fromStringQuietly(Class<E> enumClass, String value)
Enum.valueOf(Class, String),转换失败返回null 而非报错E - 枚举类型泛型enumClass - 枚举类value - 值public static <E extends Enum<E>> E likeValueOf(Class<E> enumClass, Object value)
E - 枚举类型enumClass - 枚举类value - 值public static List<String> getNames(Class<? extends Enum<?>> clazz)
clazz - 枚举类public static List<Object> getFieldValues(Class<? extends Enum<?>> clazz, String fieldName)
clazz - 枚举类fieldName - 字段名,最终调用getXXX方法public static List<String> getFieldNames(Class<? extends Enum<?>> clazz)
EnumUtil.getFieldNames(Color.class) == ["name", "index"]
clazz - 枚举类public static <E extends Enum<E>> LinkedHashMap<String,E> getEnumMap(Class<E> enumClass)
E - 枚举类型enumClass - 枚举类public static Map<String,Object> getNameFieldMap(Class<? extends Enum<?>> clazz, String fieldName)
clazz - 枚举类fieldName - 字段名,最终调用getXXX方法public static <E extends Enum<E>> boolean contains(Class<E> enumClass, String val)
E - 枚举类型enumClass - 枚举类val - 需要查找的值public static <E extends Enum<E>> boolean notContains(Class<E> enumClass, String val)
E - 枚举类型enumClass - 枚举类val - 需要查找的值public static boolean equalsIgnoreCase(Enum<?> e, String val)
e - 枚举值val - 需要判断的值public static boolean equals(Enum<?> e, String val)
e - 枚举值val - 需要判断的值public static <E extends Enum<E>> List<E> getEnumList(Class<E> enumClass)
ListE - 枚举的类型enumClass - 要查询的枚举的类public static <E extends Enum<E>> boolean isValidEnum(Class<E> enumClass, String enumName)
E - 枚举的类型enumClass - 要查询的枚举的类enumName - 枚举名null返回falsepublic static <E extends Enum<E>> boolean isValidEnumIgnoreCase(Class<E> enumClass, String enumName)
E - 枚举的类型enumClass - 要查询的枚举的类enumName - 枚举名null返回falsepublic static <E extends Enum<E>> E getEnum(Class<E> enumClass, String enumName)
nullE - 枚举的类型enumClass - 要查询的枚举的类enumName - 枚举名public static <E extends Enum<E>> E getEnumIgnoreCase(Class<E> enumClass, String enumName)
nullE - 枚举的类型enumClass - 要查询的枚举的类enumName - 枚举名public static <E extends Enum<E>> long generateBitVector(Class<E> enumClass, Iterable<? extends E> values)
E - 枚举的类型enumClass - 我们使用的enum类,而不是nullvalues - long[]表示一组enum值,最右边是最不重要的数字,
而不是nullgenerateBitVectors(Class, Iterable)public static <E extends Enum<E>> long[] generateBitVectors(Class<E> enumClass, Iterable<? extends E> values)
long创建Enum的给定子集的位向量表示E - 枚举的类型enumClass - 我们使用的enum类,而不是nullvalues - long[]表示一组enum值,最右边是最不重要的数字,
而不是nullpublic static <E extends Enum<E>> long generateBitVector(Class<E> enumClass, E... values)
E - 枚举的类型enumClass - 我们使用的enum类,而不是nullvalues - long[]表示一组enum值,最右边是最不重要的数字,
而不是nullpublic static <E extends Enum<E>> long[] generateBitVectors(Class<E> enumClass, E... values)
long创建Enum的给定子集的位向量表示E - 枚举的类型enumClass - 我们使用的enum类,而不是nullvalues - long[]表示一组enum值,最右边是最不重要的数字,
而不是nullpublic static <E extends Enum<E>> EnumSet<E> processBitVector(Class<E> enumClass, long value)
generateBitVector(java.lang.Class<E>, java.lang.Iterable<? extends E>)创建的长值转换为它所表示的enum值集E - 枚举的类型enumClass - 我们使用的enum类,而不是nullvalue - long表示一组enum值,最右边是最不重要的数字,
而不是nullpublic static <E extends Enum<E>> EnumSet<E> processBitVectors(Class<E> enumClass, long... values)
generateBitVectors(java.lang.Class<E>, java.lang.Iterable<? extends E>)
创建的long[]转换为它所表示的一组enum值E - 枚举的类型enumClass - 我们使用的enum类,而不是nullvalues - long[]表示一组enum值,最右边是最不重要的数字,
而不是nullCopyright © 2019. All rights reserved.