网站首页 > 技术文章 正文
今晚就大年三十啦,祝大家新的一年:事事如意
我们看下java反射获取属性的思路和步骤:1、第一步肯定是获取类的字节码文件,2、通过Class类的getDeclaredFields()方法获取类中所有属性的对象 (getFields():这个方法是获取类中公开的属性),3、通过for循环 Field数组,调用getName()方法就可以获取属性的名称。
代码如下:
注意:这里我们需要很清楚的知道一个知识点,这个Field对象里面是什么:修饰符 + 变量类型 + 属性名称 这整个才是一个Field。例如 public String name;
我们接下来获取属性的修饰符:步骤跟获取属性名称一样的。1、获取对象的字节码文件。2、通过字节码文件获取对象所有的Field对象。3、通过Field的getType()方法获取变量的类型(这个类型是Class),在通过getName()方法获取变量类型的名称。
注意:getType()方法返回的是一个Class类型,应该变量的类型就是一个类。
代码如下:
接下来我们获取属性的修饰符:1、获取类的字节码文件。2、通过Class对象的getDeclaredFields()方法获取所有的属性对象。2、循环获取每个属性对象,调用getModifiers()方法,获取修饰符的编号,在通过Modifier对象的toString("修饰符编号")方法获取修饰符。
注意点:getModifiers()方法返回的是int类型的数字,应为一个变量的修饰符可能有多个。比如:public static final String = "张三"; 获取到返回额数字后,在通过Modifier的toString()方法获取真正的修饰符。
代码如下:
猜你喜欢
- 2025-05-08 java2(JaVa2实用教程第6版Pdf)
- 2025-05-08 Java 类初始化顺序解析与高并发优化
- 2025-05-08 Java基本程序设计结构(上)(java程序设计的三种结构是什么)
- 2025-05-08 Java 阴历阳历转换(java转化日期格式)
- 2025-05-08 Kafka消息可靠传输之幂等、事务机制
- 2025-05-08 单例模式的七种写法,你都知道吗?
- 2025-05-08 Java JVM原理与性能调优:从基础到高级应用
- 2025-05-08 Spring中使用的设计模式,你都能说全吗?
- 2025-05-08 一篇文章彻底搞懂JVM加载中初始化的时机
- 2025-05-08 字符型常量和字符串常量的区别(字符型常量和字符串常量的区别是什么?)
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- js判断是否空对象 (63)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- js数组插入 (83)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)