概述
package com.hyh.ucs.dao.entity.enums;
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;
public class DynamicEnumTest {
private static
ReflectionFactory reflectionFactory =
ReflectionFactory.getReflectionFactory();
private static void
setFailsafeFieldValue(Field field, Object target, Object value)
throws NoSuchFieldException,
IllegalAccessException {
// let's make the field accessible
field.setAccessible(true);
// next we change the modifier in the Field
instance to
// not be final anymore, thus tricking reflection
into
// letting us modify the static final field
Field modifiersField =
Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
int modifiers =
modifiersField.getInt(field);
// blank out the final bit in the modifiers
int
modifiers &= ~Modifier.FINAL;
modifiersField.setInt(field, modifiers);
FieldAccessor fa =
reflectionFactory.newFieldAccessor(field, false);
fa.set(target, value);
}
private static void
blankField(Class
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。
最后
以上就是俭朴身影为你收集整理的java 动态生成枚举_动态创建枚举的全部内容,希望文章能够帮你解决java 动态生成枚举_动态创建枚举所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复