怎么用java反射获取属性名和值

   2025-02-15 8900
核心提示:要使用Java反射获取属性名和值,可以按照以下步骤进行操作:获取类的Class对象:Class clazz = object.getClass();获取类的所有

要使用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对象的所有属性名和值。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言