怎么使用java反射获取对象属性值

507
2023/9/12 23:00:47
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

使用Java反射获取对象属性值的步骤如下:

  1. 获取对象的Class对象,可以通过对象的getClass()方法获取。
Class<?> clazz = object.getClass();
  1. 获取属性的Field对象,可以通过Class对象的getField()、getDeclaredField()、getFields()、getDeclaredFields()等方法获取。
Field field = clazz.getDeclaredField("fieldName");
  1. 设置Field对象的accessible属性为true,以使得可以访问私有属性。
field.setAccessible(true);
  1. 使用Field对象的get()方法获取属性值。
Object value = field.get(object);

完整的示例代码如下:

import java.lang.reflect.Field;
public class Main {
public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
MyClass myObject = new MyClass();
myObject.setField("Hello World");
Class<?> clazz = myObject.getClass();
Field field = clazz.getDeclaredField("field");
field.setAccessible(true);
Object value = field.get(myObject);
System.out.println(value);
}
static class MyClass {
private String field;
public void setField(String field) {
this.field = field;
}
}
}

上述示例代码中,通过反射获取了私有属性field的值,并输出到控制台上。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: java中double的用法是什么