关于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