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>> |
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 Map<String,Object> |
getFieldNames(Class<? extends Enum<?>> clazz,
String fieldName)
获得枚举名对应指定字段值的Map
键为枚举名,值为字段值
|
static List<Object> |
getFieldValues(Class<? extends Enum<?>> clazz,
String fieldName)
获得枚举类中各枚举对象下指定字段的值
|
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 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 Map<String,Object> getFieldNames(Class<? extends Enum<?>> clazz, String fieldName)
clazz - 枚举类fieldName - 字段名,最终调用getXXX方法public static <E extends Enum<E>> LinkedHashMap<String,E> getEnumMap(Class<E> enumClass)
E - 枚举类型enumClass - 枚举类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 - 枚举名Copyright © 2020. All rights reserved.