集册 Java实例教程 使用反射访问枚举字段集

使用反射访问枚举字段集

欢马劈雪     最近更新时间:2020-01-02 10:19:05

467
使用反射访问枚举字段集

import java.lang.reflect.Field;/*时   代    Java - nowjava.com 提 供*/


enum E0 {

    A, B

}


enum E1 {

    A, B

}


class ETest {

    private E0 fld = E0.A;

}

/**
n o w j a   v  a . c o m - 时  代  Java
**/

public class EnumTroubleToo {

    public static void main(String... args) {

        try {

            ETest test = new ETest();

            Field f = test.getClass().getDeclaredField("fld");

            f.setAccessible(true);

            f.set(test, E1.A); // IllegalArgumentException


            // production code should handle these exceptions more gracefully

        } catch (NoSuchFieldException x) {

            x.printStackTrace();

        } catch (IllegalAccessException x) {

            x.printStackTrace();

        }

    }

}


展开阅读全文