java 利用反射获取内部类静态成员变量的值

来源:互联网 发布:河南软件服务协会 编辑:程序博客网 时间:2024/05/19 00:44

昨晚,一同事问到我,怎么利用java反射解析内部类静态成员变量的值,于是顺手写下了。

废话不多说,直接上代码!


待解析类结构如下:


/** * @Author changle * @Time 17/6/13. * @Desc to do */public class Goods {    static class apple{        public static String version = "iphone6s[是手机不是吃的苹果]";        public static String date = "生产日期 2017-06-13";    }}

获取内部类静态成员变量工具类:

/** * @Author changle * @Time 17/6/13. * @Desc 获取静态内部类静态变量 */public class TestParseInnerProValue {    public static void main(String[] args) {        Class<?> clasz = Goods.class;        printInnerParamValue(clasz);    }    public static void printInnerParamValue(Class<?> clasz){        Class innerClazz[] = clasz.getDeclaredClasses();        for(Class claszInner : innerClazz){            Field[] fields = claszInner.getDeclaredFields();            for(Field field : fields){                try {                    Object object = field.get(claszInner);                    System.out.println("获取到的feild, name=" + field.getName()+",   value="+ object.toString());                    //打印内容                    /*                    * 获取到的feild, name=version,   value=iphone6s[是手机不是吃的苹果]                      获取到的feild, name=date,   value=生产日期 2017-06-13                    * */                } catch (IllegalAccessException e) {                    e.printStackTrace();                }            }        }    }}


阅读全文
0 0