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

枚举字段使用反射

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

381
枚举字段使用反射

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


enum E0 {

    A, B

}


enum E1 {

    A, B

}


class ETest {

    private E0 fld = E0.A;

}


public class EnumTroubleToo {

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

        try {

            ETest test = new ETest();

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

            f.setAccessible(true);
            /* 
             来自 
            *时代Java - N o w  J a v a . c o m*/

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


            // production code should handle these exceptions more gracefully

        } catch (NoSuchFieldException x) {

            x.printStackTrace();

        } catch (IllegalAccessException x) {

            x.printStackTrace();

        }

    }

}


展开阅读全文