1.考虑安全访问范围内的属性,没有权限访问到的属性不读取

[java] view plaincopy
  1. /**
  2. * 根据属性名获取属性值
  3. *
  4. * @param fieldName
  5. * @param object
  6. * @return
  7. */
  8. private String getFieldValueByFieldName(String fieldName, Object object) {
  9. try {
  10. Field field = object.getClass().getField(fieldName);
  11. //设置对象的访问权限,保证对private的属性的访问
  12. return  (String)field.get(object);
  13. } catch (Exception e) {
  14. return null;
  15. }
  16. }

2.不考虑从祖先类继承的属性,只获取当前类属性,包括四类访问权限,private,protect,default,public
[java] view plaincopy
  1. /**
  2. * 根据属性名获取属性值
  3. *
  4. * @param fieldName
  5. * @param object
  6. * @return
  7. */
  8. private String getFieldValueByFieldName(String fieldName, Object object) {
  9. try {
  10. Field field = object.getClass().getDeclaredField(fieldName);
  11. //设置对象的访问权限,保证对private的属性的访问
  12. field.setAccessible(true);
  13. return  (String)field.get(object);
  14. } catch (Exception e) {
  15. return null;
  16. }
  17. }

3.考虑父类继承过来的属性,包括四类访问权限,private,protect,default,public

[java] view plaincopy
  1. /**
  2. * 根据属性名获取属性元素,包括各种安全范围和所有父类
  3. *
  4. * @param fieldName
  5. * @param object
  6. * @return
  7. */
  8. private Field getFieldByClasss(String fieldName, Object object) {
  9. Field field = null;
  10. Class<?> clazz = object.getClass();
  11. for (; clazz != Object.class; clazz = clazz.getSuperclass()) {
  12. try {
  13. field = clazz.getDeclaredField(fieldName);
  14. } catch (Exception e) {
  15. // 这里甚么都不能抛出去。
  16. // 如果这里的异常打印或者往外抛,则就不会进入
  17. }
  18. }
  19. return field;
  20. }

转载于:https://www.cnblogs.com/zhizhijiao/p/9052136.html

java 反射机制--根据属性名获取属性值相关推荐

  1. java 操作属性值_java反射机制根据属性名获取属性值的操作

    一.考虑安全访问范围内的属性,没有权限访问到的属性不读取 /** * 根据属性名获取属性值 * * @param fieldName * @param object * @return */ priv ...

  2. java通过属性名获取属性值_java反射机制根据属性名获取属性值的操作

    java反射机制根据属性名获取属性值的操作,属性,对象,反射,访问权限,还可以 java反射机制根据属性名获取属性值的操作 易采站长站,站长之家为您整理了java反射机制根据属性名获取属性值的操作的相 ...

  3. java 反射根据属性名获取属性值

    一.背景 在使用三方sdk的时候如果三方提供的api满足不了我们的需求,这时候就需要通过阅读三方sdk的代码,并通过反射来实现我们的需求. 二.根据属性名获取属性值 1.考虑安全访问范围内的属性,没有 ...

  4. java日期用什么属性_java日期以及使用Java反射机制遍历实体类的属性和类型

    fmt:formatDate 的输出格式 fmt关于时间格式的输出 2004-5-31 23:59:59 2004-4-1 23:59:59 JSTL标签fmt:formatDate引起的中文乱码问题 ...

  5. java 反射机制中的 Filed (属性反射机制)

    文章目录 class Test class Myclas **文件所在位置见图** class Test package ReflectClass;import java.lang.reflect.F ...

  6. Java反射机制 课外01:获取一个文件的绝对路径

    一.获取一个文件的绝对路径 方式一:New FileReader("Name"); -- 这种方式的路径缺点是:移植性差,在IDEA中默认的当前路径是project的根. publ ...

  7. 根据属性名获取、设置属性值

    1.根据属性名获取属性值 可以通过JDK自带的反射下的getClass下的getDeclaredField并传递一个属性名字来获取该属性 属性名:fileName,对象:Object object: ...

  8. 12000+字Java反射,一起全面了解Java反射机制,为学习框架铺路

    文章目录 Java反射机制 理解Class类 获取Class类实例 类的加载过程 类加载器ClassLoader 创建运行时类的对象 获取运行时类的结构 调用运行时类的指定结构 动态代理 Java反射 ...

  9. 一文读懂 Java 反射机制那些事

    作者:四夕又欠 用时:12 min 前不久学习了反射机制,来总结下.在此之前,回顾下java程序的编译运行过程,分为三个阶段:源码(.java文件)进过编译生成字节码文件(.class文件),然后jv ...

最新文章

  1. 沃尔沃加入英伟达阵营 2021年开卖自动驾驶汽车
  2. iOS RunLoop 初识
  3. ansys fluent udf manual 下载_Fluent内置流固耦合01 使用流程
  4. Linux下性能压测之系统参数调优
  5. Apache CXF 3.0:CDI 1.1支持替代Spring
  6. Java集合类原理详解
  7. 1、rbac权限组件-初识, 中间件校验1
  8. 电脑word在哪_word是什么?小学生:单词,大学生:论文排版工具
  9. 解决outlook2013设置错误无法启动
  10. (转)解读NTFS(一)
  11. java mysql proxy_Amoeba是一个类似MySQL Proxy的分布式数据库中间代理层软件,是由陈思儒开发的一个开源的java项目...
  12. cocos2d-x 3.1 编译脚本android-build.py
  13. html5 圆形加载进度条,纯css3超酷圆形Loading加载进度条特效
  14. Android中识别手柄JAVA_android的游戏手柄开发测试代码
  15. linux下安装asio4ks,FL Studio 第一步 初始化 2020-10-01
  16. mp3分割方法,如何将mp3分割
  17. PPT流程图这样画,感动老板第一步!
  18. git系列之-放弃修改
  19. 物质环境、符号还是认知模型?——谈韩礼德、马丁、范迪克的语境观
  20. 在树莓派计算模块CM4 eMMC上安装Ubuntu Desktop 21.04

热门文章

  1. effective c++ 条款10 让operator= 返回*this的引用
  2. shaderlab学习一
  3. call_user_func_array 笔记
  4. Android SDK版本和ADT版本
  5. 如何正确的对待设计模式——我的观点
  6. HTML5动态圆形导航,jQuery带动画特效的圆形导航菜单特效
  7. oracle收集统计计划,oracle收集统计信息之analyze
  8. char怎么比较_C语言的 main 函数到底怎么写才是对的?
  9. 鸿蒙应用开发在线体验官网,华为鸿蒙 HarmonyOS 应用开发在线体验网站上线
  10. python创建excel图表_python使用VBA(8):Excel创建图表(简单)