java如何获取实体类的属性名和属性值
作者:小豆的编程世界...
这篇文章主要介绍了java如何获取实体类的属性名和属性值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Field是什么?
Field是一个类,位于java.lang.reflect包下。
在Java反射中Field类描述的是类的属性信息,功能包括:
获取当前对象的成员变量的类型对成员变量重新设值
Field常用方法
getType()
: 获取属性声明时类型对象(返回class对象)getGenericType()
:返回属性声的Type类型getName()
: 获取属性声明时名字getAnnotations()
: 获得这个属性上所有的注释getModifiers()
: 获取属性的修饰isEnumConstant()
: 判断这个属性是否是枚举类isSynthetic()
: 判断这个属性是否是 复合类get(Object obj)
: 取得obj对象这个Field上的值set(Object obj, Object value)
: 向obj对象的这个Field设置新值value
Field获取实体类的属性名和属性值
实现步骤
- 获取实体类 返回的是一个数组 数组的数据就是实体类中的字段
- 添加setAccessible()因为的字段是用private修饰的
- 输出属性名和属性值
User user = new User(); //获取实体类 返回的是一个数组 数组的数据就是实体类中的字段 Field[] fields = user.getClass().getDeclaredFields(); for (int i = 0; i < fields.length; i++) { //有的字段是用private修饰的 将他设置为可读 fields[i].setAccessible(true); try { // 输出属性名和属性值 System.out.println("属性名"+fields[i].getName()+"-----属性值"+fields[i].get(user)); catch (IllegalAccessException e) { e.printStackTrace(); } }
输出结果
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。