反射获取静态属性值

public static void main(String[] args) throws ClassNotFoundException, IllegalArgumentException, IllegalAccessException{
        Field[] fields = Enums.class.getDeclaredFields();
        for( Field field : fields ){
                // 是否是静态属性
            if(!Modifier.isStatic(field.getModifiers())) continue;
            Object object= field.get(Enums.class);
                // 是否是制定类型
            if(!(object instanceof GenericEnum)) continue;
            Map<Object, String> allEnum = ((GenericEnum)object).getAllEnum();
            for(Map.Entry<Object,String> entry : allEnum.entrySet()){
                System.out.println(entry.getKey() + ":" + entry.getValue());
            }
        }
}

这个方法主要用于获取枚举数据时用到。 GenericEnum是枚举抽象类。

 

posted @ 2016-12-19 16:16  探讨  阅读(2763)  评论(0编辑  收藏  举报