关于Field类返回数组
来源:3-5 Field类的概述和使用
无限精彩
2020-01-08 21:02:54

老师,这返回数组应该如何写代码,如何获取值?
1回答
同学你好,当获取的属性是一个数组时,可以按照如下方式获取值。
首先通过getDeclaredFields()方法获取说有的属性。然后分别为数组中的属性赋值。最后通过get()方法获取对象p的属性值。
具体如下:
@Test
// 测试私有的属性
public void demo2() throws Exception {
// 获得Class
Class class1 = Class.forName("com.imooc.reflect.test.Person");
// 获得私有的属性
Field[] declaredFields = class1.getDeclaredFields();
// 操作属性:
Person p = (Person) class1.newInstance();
// 私有属性,需要设置一个可访问的权限:
declaredFields[0].setAccessible(true);
declaredFields[0].set(p, "小明");
declaredFields[1].setAccessible(true);
declaredFields[1].set(p, "男");
// 获取值:
Object obj = declaredFields[1].get(p);
System.out.println(p);
}结果如下:

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题
回答 1
回答 1