通过数组属性访问 Java 对象的方法之一是使用反射 API,包括:1. 获取数组类的 Class 对象;2. 获取数组属性的 Field 对象;3. 设置或获取数组属性值。

如何通过数组属性访问 Java 对象
在 Java 中,通过数组属性访问对象的一种方法是使用反射 API。
步骤:
-
获取数组类的 Class 对象:
立即学习“Java免费学习笔记(深入)”;
<code class="java">Class<?> arrClass = array.getClass();</code>
-
获取数组属性的 Field 对象:
<code class="java">Field arrField = arrClass.getField("propertyName");</code> -
设置或获取数组属性值:
<code class="java">// 设置数组属性值 arrField.set(array, new Object()); // 获取数组属性值 Object fieldValue = arrField.get(array);</code>
示例:
假设有一个 Person 类包含一个 String 数组属性 names:
<code class="java">public class Person {
private String[] names;
// 省略其他代码
}</code>要通过反射访问 names 数组属性,可以执行以下步骤:
<code class="java">Person person = new Person();
Class<?> personClass = person.getClass();
Field namesField = personClass.getField("names");
// 设置数组属性值
namesField.set(person, new String[] {"John", "Doe"});
// 获取数组属性值
String[] names = (String[]) namesField.get(person);</code>注意:
- 确保
propertyName是数组属性的名称。 - 使用反射访问私有或受保护的属性时,需要先调用
field.setAccessible(true)。











