java-读取类中的属性名称和值
2016-01-11 15:50
555 查看
方法
/** * 获取类中的所有属性明名称和值(因涉及到可能会是继承关系的父类,所以从f中去属性名称,从f2中取值,两个可以一样,也可以使父类) * @param f:读取属性类(如果取父类的,则这里为父类) * @param o:取值类(如果取父类的,则这里为子类) * @return */ public static Map<String, Object> readClassFileAllComponentsName(Object f,Object f2) { Map<String, Object> map = new HashMap<String, Object>(); if (f == null) return map; Field[] fields = f.getClass().getDeclaredFields(); for (int i = 0, len = fields.length; i < len; i++) { try { // 对于每个属性,获取属性名 String varName = fields[i].getName(); // 获取原来的访问控制权限 boolean accessFlag = fields[i].isAccessible(); // 修改访问控制权限 fields[i].setAccessible(true); // 获取在对象f中属性fields[i]对应的对象中的变量 Object o = fields[i].get(f2); map.put(varName, o); //System.out.println("传入的对象中包含一个如下的变量:" + varName + " = " + o); // 恢复访问控制权限 fields[i].setAccessible(accessFlag); } catch (IllegalArgumentException ex) { ex.printStackTrace(); } catch (IllegalAccessException ex) { ex.printStackTrace(); } } return map; }
相关文章推荐
- 4.java成长之路——重读java编程思想04
- 关于java编写邮件注册
- JDK安装后 没有tools.jar 和dt.jar包的解决办法
- springMVC easyUI filebox 单个文件上传
- 【JVM系列】Java 虚拟机指令操作码的映射表
- JAVA 使用Dom4j 解析XML
- Spring调度
- Java中堆内存和栈内存_在建立一个对象时从两个地方都分配内存,在堆中分配的内存实际建立这个对象,而在堆栈中分配的内存只是一个指向这个堆对象的指针(引用)。修改栈指针就可以把栈中的内容销毁.这样最快
- struts2标签radio和select中listKey与listValue
- axis2 gennrate java code
- springMvc 报错
- 【第七章】 对JDBC的支持 之 7.5 集成Spring JDBC及最佳实践 ——跟我学spring3
- Struts标签
- (转)Java中Properties类的操作
- java获取图片属性
- java获取任意指定日期后前后任一一天
- [javase学习笔记]-9.1 继承
- Spring加载完毕时,初始化参数
- Java正则表达式教程及示例
- 可选操作 java.lang.UnsupportedOperationException Collection