共计 1056 个字符,预计需要花费 3 分钟才能阅读完成。
要使用 Java 反射获取属性名和值,可以按照以下步骤进行操作:
-
获取类的 Class 对象:
Class clazz = object.getClass();
-
获取类的所有属性:
Field[] fields = clazz.getDeclaredFields();
-
遍历属性数组,获取属性名和值:
for (Field field : fields) {// 设置属性可访问,否则私有属性无法获取 field.setAccessible(true); String fieldName = field.getName(); Object fieldValue = field.get(object); System.out.println(" 属性名:" + fieldName + ",属性值:" + fieldValue); }
完整示例代码如下所示:
import java.lang.reflect.Field;
public class ReflectionExample {public static void main(String[] args) {// 创建对象
Person person = new Person("Tom", 18, "Male");
// 获取类的 Class 对象
Class clazz = person.getClass();
// 获取类的所有属性
Field[] fields = clazz.getDeclaredFields();
// 遍历属性数组,获取属性名和值
for (Field field : fields) {// 设置属性可访问,否则私有属性无法获取
field.setAccessible(true);
String fieldName = field.getName();
Object fieldValue;
try {fieldValue = field.get(person);
System.out.println(" 属性名:" + fieldName + ",属性值:" + fieldValue);
} catch (IllegalAccessException e) {e.printStackTrace();
}
}
}
}
class Person {private String name;
private int age;
private String gender;
public Person(String name, int age, String gender) {this.name = name;
this.age = age;
this.gender = gender;
}
}
运行该示例代码,就可以获取到 Person 对象的所有属性名和值。
丸趣 TV 网 – 提供最优质的资源集合!
正文完