业务背景:在复杂业务场景下,原定义的枚举类型不满足现有需求,且枚举类型要添加的数量不确定。
工具类:DynamicEnumUtils 动态枚举操作工具
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import sun.reflect.ConstructorAccessor;
import sun.reflect.FieldAccessor;
import sun.reflect.ReflectionFactory;
/**
* @Description: 动态枚举操作工具
* @author ***
* @date 2019年11月29日
*/
@SuppressWarnings("restriction")
public class DynamicEnumUtils {
private static ReflectionFactory reflectionFactory = ReflectionFactory.getReflectionFactory();
private static void setFailsafeFieldValue(Field field, Object target, Object value) throws NoSuchFieldException,
IllegalAccessException {
field.setAccessible(true);
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessibl

最低0.47元/天 解锁文章
709





