一、背景

在使用三方sdk的时候如果三方提供的api满足不了我们的需求,这时候就需要通过阅读三方sdk的代码,并通过反射来实现我们的需求。

二、根据属性名获取属性值

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

/*** 根据属性名获取属性值* * @param fieldName* @param object* @return*/private String getFieldValueByFieldName(String fieldName, Object object) {try {Field field = object.getClass().getField(fieldName);//设置对象的访问权限,保证对private的属性的访问return  (String)field.get(object);} catch (Exception e) {return null;} }

2、不考虑从祖先类继承的属性,只获取当前类属性,包括四类访问权限,private,protect,default,public

 /*** 根据属性名获取属性值* * @param fieldName* @param object* @return*/private String getFieldValueByFieldName(String fieldName, Object object) {try {Field field = object.getClass().getDeclaredField(fieldName);//设置对象的访问权限,保证对private的属性的访问field.setAccessible(true);return  (String)field.get(object);} catch (Exception e) {return null;} }

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

/*** 根据属性名获取属性元素,包括各种安全范围和所有父类* * @param fieldName* @param object* @return*/
private Field getFieldByClasss(String fieldName, Object object) {Field field = null;Class<?> clazz = object.getClass();//从当前的类开始找,没找到再从父类中找。for (; clazz != Object.class; clazz = clazz.getSuperclass()) {try {field = clazz.getDeclaredField(fieldName);} catch (Exception e) {// 这里甚么都不能抛出去。// 如果这里的异常打印或者往外抛,则就不会进入}}return field;}

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

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

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

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

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

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

    1.考虑安全访问范围内的属性,没有权限访问到的属性不读取 [java] view plaincopy /** * 根据属性名获取属性值 * * @param fieldName * @param ob ...

  4. java 反射,根据类获取 属性名字和值

    /*** @Author MWZHYF* @Description // 产生对象字段* @Date 15:33 2019/4/25* @Param [obj]* @return java.lang. ...

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

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

  6. java根据属性获取对象_java反射工具类--通过指定属性名,获取/设置对象属性值

    java对象通过点运算符操作对象属性的方式没法使用for,while等循环,此工具主要解决这一问题. 例如:有一对象包含属性有一定规律 obj1: { name1: "张三", a ...

  7. java中遍历实体类,获取属性名和属性值

    方式一(实体类): //java中遍历实体类,获取属性名和属性值public static void testReflect(Object model) throws Exception{for (F ...

  8. 【java】java反射机制,动态获取对象的属性和对应的参数值,并属性按照字典序排序,Field.setAccessible()方法的说明【可用于微信支付 签名生成】...

    方法1:通过get()方法获取属性值 package com.sxd.test.controller;public class FirstCa{private Integer num;private ...

  9. Java 扫描枚举类并获取属性

    Java 扫描枚举类并获取属性 文章目录 Java 扫描枚举类并获取属性 第一步:在 pom.xml 下导入 hutool 和 commons-lang3 第二步:写一个接口以规范枚举的属性 第三步: ...

最新文章

  1. javascript 手势缩放 旋转 拖动支持:hammer.js
  2. 项目文档管理的一些想法
  3. symbian 视频播放解决方案
  4. 计算器服务端/客户端
  5. JS判断访问设备(userAgent)加载不同页面 JS判断客户端操作系统类型(platform)
  6. centos6.5 安装多个mysql_在centos6,5(64位)系统安装多实例mysql5.6
  7. 前端学习(1854)vue之电商管理系统电商系统之安装mysql
  8. [Git高级教程(二)] 远程仓库版本回退方法
  9. 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误
  10. 征集 | AAAI 2021线下论文预讲会讲者征集
  11. 【GIS导论】实验三 数据处理
  12. Spring Cloud Config分布式配置中心高可用及配置刷新(学习总结)
  13. 考研数据库系统概论题目整理
  14. 原生js实现点击“上一张”、“下一张”按钮切换图片
  15. 网络营销行业十大看了就想吐的“滥词”
  16. matlab文本文件操作
  17. w10系统asp服务器搭建,在windows10系统下搭建asp环境的方法
  18. office出现0x4004F00C错误
  19. android6.0 PowerManagerService状态分析
  20. WIN10开机无限自动修复失败重启问题解决

热门文章

  1. Gradle 笔记_1 - Gradle 基础
  2. 还在观望?CocosCreator3D小案例《小鸭快跑》新鲜出炉!
  3. 苹果与Epic Games三年大战终于结束?苹果宣布胜诉!
  4. 高斯白噪声及matlab语言,matlab 给信号加高斯白噪声
  5. css--vertical-align属性--图片文字居中对齐、图片底部空白缝隙
  6. qt opencv mingw转msvc
  7. Node.js搭建https服务器
  8. IOT2050 更改Debian源为中科大源
  9. 解决httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0
  10. ViewPager和Fragment实现滑动标签页步骤以及方法总结