Java中怎样使用反射根据属性名获取和设置属性的值
场景
在某管理系统中需要对一月中的每天进行设置某个状态
对应的实体类的属性为
分别为d1 d2 一直到第31号。前端传递到后台的是d1 d2 d3等实体类对应的属性和要设置的状态的字段。
怎样将这些属性根据名字进行更新。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
可以通过JDK自带的反射下的getClass下的getDeclaredField并传递一个属性名字来获取该属性
Field field = kqbbKqybNew.getClass().getDeclaredField(shuxing);
获取属性对应值需要提前设置可访问
field.setAccessible(true);field.get(oldKqbbKqyb);
其中传递的参数是要获取其属性值的对象。
怎样设置其属性值
field.setAccessible(true);
field.set(kqbbKqybNew, "公众号:霸道的程序猿");
其中第一个参数也是要设置其属性值的对象。
完整示例代码
设置
A a = new A();
Field field = a.getClass().getDeclaredField("x");
field.setAccessible(true);
field.set(a, 1);
读取
Field f = a.getClass().getDeclaredField("x");
f.setAccessible(true);
System.out.println(f.get(a));
Java中怎样使用反射根据属性名获取和设置属性的值相关推荐
- 根据属性名获取、设置属性值
1.根据属性名获取属性值 可以通过JDK自带的反射下的getClass下的getDeclaredField并传递一个属性名字来获取该属性 属性名:fileName,对象:Object object: ...
- Java中char类型数组打印数组名输出结果不是地址值
Java中其他类型数组打印数组名,输出结果都是内存地址 Java中char类型数组打印数组名,输出结果不是内存地址 char类型的数组就相当于一个字符串. 因为输出流System.out是PrintS ...
- java 操作属性值_java反射机制根据属性名获取属性值的操作
一.考虑安全访问范围内的属性,没有权限访问到的属性不读取 /** * 根据属性名获取属性值 * * @param fieldName * @param object * @return */ priv ...
- java通过属性名获取属性值_java反射机制根据属性名获取属性值的操作
java反射机制根据属性名获取属性值的操作,属性,对象,反射,访问权限,还可以 java反射机制根据属性名获取属性值的操作 易采站长站,站长之家为您整理了java反射机制根据属性名获取属性值的操作的相 ...
- java 反射根据属性名获取属性值
一.背景 在使用三方sdk的时候如果三方提供的api满足不了我们的需求,这时候就需要通过阅读三方sdk的代码,并通过反射来实现我们的需求. 二.根据属性名获取属性值 1.考虑安全访问范围内的属性,没有 ...
- java根据属性获取对象_java反射工具类--通过指定属性名,获取/设置对象属性值
java对象通过点运算符操作对象属性的方式没法使用for,while等循环,此工具主要解决这一问题. 例如:有一对象包含属性有一定规律 obj1: { name1: "张三", a ...
- java 反射机制--根据属性名获取属性值
1.考虑安全访问范围内的属性,没有权限访问到的属性不读取 [java] view plaincopy /** * 根据属性名获取属性值 * * @param fieldName * @param ob ...
- 【java】java反射机制,动态获取对象的属性和对应的参数值,并属性按照字典序排序,Field.setAccessible()方法的说明【可用于微信支付 签名生成】...
方法1:通过get()方法获取属性值 package com.sxd.test.controller;public class FirstCa{private Integer num;private ...
- Java中为什么需要反射?反射要解决什么问题?
Java中为什么需要反射?反射要解决什么问题? 参考文章: (1)Java中为什么需要反射?反射要解决什么问题? (2)https://www.cnblogs.com/buoge/p/9285142. ...
最新文章
- Linux中Sleep和Wait命令的使用方式
- awakeFromNib方法和viewDidLoad方法区别
- 数据包发包工具bittwist
- jquery easyui datagrid实现单行的上移下移,以及保存移动的结果
- Python 优先级
- Java系列:《Java核心技术 卷一》学习笔记,chapter11 记录日志
- UVA 10118 Free Candies
- python按位处理二进制文件_对如何在python shell中对16位二进制数执行按位运算感到困惑...
- 尼日利亚4g频段_4G全球频段划分及主要运营商对应表2015版
- idea实现Tomcat热部署
- 驱动一款淘宝购买的130万像素的USB双目摄像头-记录
- 电子信息一班上传文件教程
- 计算机中的八卦知识,原来计算机的核心技术来自周易八卦
- 苹果笔记本双系统OS和win10,在win10下罗技M558蓝牙提示输入码无效
- 中易云 易云系统 电镀废水处理远程监控解决方案
- Linux软件 绑定硬件ID 做加密 cryptopp RSA-encryption
- POE交换机供电时,网线如何连接?
- 【演讲实录+视频】走近40+世界级AI专家!第三届中国人工智能大会资料分享(直播进行中_不断更新)
- 工业相机CCD与CMOS
- matlab里面的simu,matlab_commu_sim
热门文章
- Ah, It‘s Yesterday Once More 构造,迷宫(2020.12.南京)
- JavaWeb项目中如何扩展一个Request对象——包装器HttpServletRequestWrapper
- 国际化在zuul中实现
- Mybatis 源码探究 (4) 将sql 语句中的#{id} 替换成 ‘?
- iphone电池怎么保养_怎么保持iPhone的电池健康?掌握这4个方面,3年不用换电池...
- 谷歌浏览器怎么重发请求_chrome 浏览器的预提取资源机制导致的一个请求发送两次的问题以及ClientAbortException异常...
- 微星笔记本电脑恢复出厂或者一键还原图文流程
- h5课件制作_一个好的h5交互课件该怎么制作
- t184卡西欧计算机玩游戏,中学回忆——卡西欧 FX-82ES 科学计算器 晒物
- 选择查询 mysql_具体的mysql选择查询