java中通过反射获取和设置对象私有字段的值

可以通过对象的getDeclaredField()方法字段(Field)对象,然后再通过字段对象的setAccessible(true)将其设置为可以访问,接下来就可以通过get/set方法来获取/设置字段的值了。下面的代码实现了一个反射的工具类,其中的两个静态方法分别用于获取和设置私有字段的值,字段可以是基本类型也可以是对象类型且支持多级对象操作,例如ReflectionUtil.get(dog, "owner.car.engine.id");可以获得dog对象的主人的汽车的引擎的ID号。

import java.lang.reflect.Method;
class MethodInvokeTest {
public static void main(String[] args) throws Exception {
String str = "hello";
Method m = str.getClass().getMethod("toUpperCase");
System.out.println(m.invoke(str)); // HELLO
}
}

java中通过反射获取和设置对象私有字段的值-上流阁

*文章为作者独立观点,不代表上流阁立场
本文由 江风成 授权 上流阁 发表,并经上流阁编辑。转载此文章须经作者同意,并请附上出处(上流阁)及本页链接。原文链接https://www.o6c.com/java/2019/11/08/1242.html
发表评论

坐等沙发
相关文章
java中StringBuffer和StringBuilder的区别
java中StringBuffer和StringBuilder的区别
java中类加载机制,双亲委派模型的好处
java中类加载机制,双亲委派模型的好处
java中如何通过反射创建对象
java中如何通过反射创建对象
java中内部类可以引用他包含类的成员
java中内部类可以引用他包含类的成员
浏览器插件管理地址 谷歌 360 浏览器 国产化适配中PageOffice 浏览器支持查看
浏览器插件管理地址 谷歌 360 浏览器 国…
windows BAT 文件 多个命令同步执行
windows BAT 文件 多个命令同步执行
javaweb开发程序员php开发,微信开发。接受定制开发

最新评论