如何在枚举类外部创建该枚举类的对象?
我试过,使用反射获取枚举类的构造方法,然后暴力反射,之后创建枚举类的时候抛异常了:java.lang.IllegalArgumentException: Cannot reflectively create enum objects(不能反射的方式创建enum的对象~)
枚举类代码:
主方法代码如下:
- public static void main(String[] args) throws Exception {
- //获取枚举类AAA的字节码文件
- Class clazz = Class.forName("bug.test.java.AAA");
- //查询api发现有enum的构造方法
- Constructor constructor = clazz.getDeclaredConstructor(String.class,int.class);
- constructor.setAccessible(true);//暴力反射
- System.out.println(constructor.getName());//
- AAA aaa = (AAA) constructor.newInstance("AV", Integer.MAX_VALUE);//抛异常了
- System.out.println(aaa.AA);
复制代码
各位大牛,能解决这个异常么?或是其他方式创建枚举类的对象?
|