项目场景:

一个添加员工信息的功能,通过shiro获取当前登录用户的信息,取出其中的createId的值,在通过set方法写入。

问题描述:

通过获取的登录用户的信息发现,它是一个Object对象,然后我就想取出其中我想要的id值,可是却不会,然后经过我多方百度查询,最终得以解决。

解决方案:

通过java反射可以获取属性值,其中多次遇见某个属性值是“private”的报错情况,用以下方法得以解决。

//获取登录用户信息
Object object=SecurityUtils.getSubject().getSession().getAttribute(Constants.SESSION_USER);
//获取当前对象(object)的类
Class jClass=object.getClass();
//获取所需的属性值
PropertyDescriptor pd = new PropertyDescriptor("id",jClass);
//获得读取属性值的方法
Method getMethod = pd.getReadMethod();
//读取属性值
Object o = getMethod.invoke(object);
//设置并转换数据类型
emp.setCreateId(Math.toIntExact((Long) o));
//调用set方法
emp.setIsDelete(0);
//插入添加的数据
empService.insert(emp);

大致就是以上的代码块,新手小白,刚上路,有许多知识不清楚,还望大家多多指点一下我,谢谢啦。

从以下的博文中拓展了关于这方面的知识,特别感谢:
1.java反射–PropertyDescriptor类:(属性描述器)、Introspector类
2.JAVA 反射获得object对象对应的实体类的属性、及属性值
3.使用java中的反射获得object对象的属性值
4.Object get["属性"]; java反射技术通过对象和属性名得到属性值

java反射 获取Object属性值相关推荐

  1. 关于Java反射获取静态属性值的方式

    先随意创建一个用户类: /*** @author 晚风* @since 2022/3/14 11:31*/ public class User {private String name;public ...

  2. 利用java反射机制修改属性值

    利用java反射机制修改属性值 本文将介绍如何利用java反射机制修改属性值,废话不多说,直接上代码 1.新建一个实体类,添加属性test以及获取属性值的方法getTest() public clas ...

  3. java获取object属性值_java反射获取一个object属性值代码解析

    有些时候你明明知道这个object里面是什么,但是因为种种原因,你不能将它转化成一个对象,只是想单纯地提取出这个object里的一些东西,这个时候就需要用反射了. 假如你这个类是这样的: privat ...

  4. java高效获取内部类属性值_Java高级特性:内部类

    内部类是什么 内部类是指在一个外部类的内部再定义一个类.内部类作为外部类的一个成员,并且依附于外部类而存在的.内部类可为静态,可用protected和private修饰(而外部类只能使用public和 ...

  5. java 反射获取方法属性和方法调用

    第一步当然是了解反射是什么东西: 指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能调用它的任意一个方法.这种动态获取信息,以及动态调用对象方法的功能叫java语 ...

  6. java 反射父类私有属性值_如何在Java中通过反射访问父类的父类的私有字段? - java...

    在一个API中,我使用的是一个抽象类(A类),该类具有一个私有字段(A.privateField). B类在API中扩展了A类. 我需要扩展B类的实现,即C类,但是我需要A类的privateField ...

  7. Java获取Object属性值

    做了一个拦截参数的需求,需要获取普通参数和对象参数 参数是Object类型,Object[] paramValues = pjp.getArgs(); 1.获取普通参数 for(int i=0;i&l ...

  8. java object 获取属性值_Java获取Object属性值

    [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之材质了解Materials [我给Unity官方视频教程做中文字幕]beginner Graphic ...

  9. java反射获取子类或者父类的属性值

    方法介绍 1.获取所有属性 private static List<Field> getAllField(Class<?> class1){List<Field> ...

最新文章

  1. 软件开发模式对比(瀑布、迭代、螺旋、敏捷)
  2. ubuntu16.04搞出百度的方法
  3. 执行import xlrd,报错ModuleNotFoundError: No module named 'xlrd'
  4. 面试题 10.01. 合并排序的数组
  5. python通信原理_python入门第三十三天--网络通信原理(补充)
  6. Helm 3 完整教程(十):Helm 函数讲解(4)加密函数、编码和解码函数
  7. torch安装及CUDA和torch版本的对应关系
  8. truffle和remix区别
  9. excel题库做成刷题得html,实例教你制作简易的Excel出题库,送给在一直忙碌的你!...
  10. 手机上最好用的五笔输入法_【收藏】如果在电脑和手机上使用日语输入法
  11. flask文件上传 flask-uploads
  12. Enterprise Architect 15 使用指南
  13. 你在日常的测试工作中遇到过哪些困境呢?
  14. Python基础语法——基础语法、变量
  15. kali linux 最新下载,kali新版本下载,Kali Linux 2019.4 开放下载
  16. 社工工具包 SEToolkit
  17. 卡马克快速平方根倒数
  18. Python获取股票机构调研数据
  19. srg2220_华为SRG2200路由器系列配置说明
  20. java毕业设计大学生创业众筹系统(附源码、数据库)

热门文章

  1. 中丹学院计算机,SCEE
  2. STM32学习心得(第一天)
  3. java编程实现给微信发送消息
  4. Spring Boot缓存管理
  5. 自然语言处理—初始自然语言处理技术—自然语言处理的前置技术
  6. git clone出现 fatal: unable to access ‘https://github.com/...
  7. 数据集标注文件JSON格式简析
  8. 软件本地化(国际化)步骤
  9. Dubbo源码解析 —— Zookeeper 订阅
  10. 如何快捷下载音乐,视频,音频,图片