Java反射获取属性问题
2016-12-30 14:14
218 查看
1、Java自带的反射机制可获取Class的属性
注意:获取实体类的所有属性,返回Field数组,获取的Field不是类中定义的顺序的
2、getDeclareFields()和getFields()的区别
getDeclareFields返回的是类中声明的private,public,protected修饰的所有属性Field数组,
但数组内容不是类中定义的顺序的,在java 8测试应该是以字母顺序排序的;
getFields返回的是所有public修改的属性Field数组,且包含父类中的public修改的属性,
同样数组内容也不是类中定义的顺序的
注意:获取实体类的所有属性,返回Field数组,获取的Field不是类中定义的顺序的
List<String>itemData = new ArrayList<>();
Field[] field = payListBean.getClass().getDeclaredFields(); for (int j = 0; j <field.length ; j++) { Field f = field[j]; f.setAccessible( true ); // 设置些属性是可以访问的 Object val = null; try { val = f.get(payListBean); // 得到此属性的值 } catch (IllegalAccessException e) { e.printStackTrace(); } if(val != null && val instanceof String)//保存 { itemData.add((String) val); } }
2、getDeclareFields()和getFields()的区别
getDeclareFields返回的是类中声明的private,public,protected修饰的所有属性Field数组,
但数组内容不是类中定义的顺序的,在java 8测试应该是以字母顺序排序的;
getFields返回的是所有public修改的属性Field数组,且包含父类中的public修改的属性,
同样数组内容也不是类中定义的顺序的
相关文章推荐
- java利用反射获取对象类名以及对象属性名
- Java中用反射的方式获取类中的所有属性和方法,以及获取属性的默认值,设置属性的默认值
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java利用反射获取类的属性及类型
- Java反射获取属性、方法、构造器
- 测试 java反射Reflection中 获取 类属性、方法、构造方法及 调用类方法改变 对象属性
- Java反射:根据方法名动态调用方法,解决商品动态属性取值问题。
- JAVA中的反射只获取属性的get方法
- java反射遍历实体类属性和类型,并赋值和获取值
- Java中用反射的方式获取类中的所有属性和方法,以及获取属性的默认值,设置属性的默认值
- 【转】NET中反射实现 可空类型 与基础类型的转换 以及获取指定属性的大小问题
- JAVA反射获取对象属性和字段
- java内省(同反射)获取属性的getter\setter方法等
- java进阶之反射:反射基础之如何获取一个类以及如何获取这个类的所有属性和方法(1)
- JAVA反射获取类的属性及类型
- 【java常见问题】——如何获取文件的属性信息?
- java反射获取对象的属性及属性值
- java反射获取类的属性名和属性值
- JAVA反射获取属性注解,类方法
- java进阶之反射:反射基础之如何获取一个类以及如何获取这个类的所有属性和方法(2)