有如下一个普通类,我想获取他的所有属性值 登录后复制 package com.demo.bean; import lombok.Data; import java.util.List; @Data public class UserBean { private String name; private Integer age; private List<String> tags; } 1.2.3.4.5.6.7.8.9.10.11.12.13.14. 可以通过反射的方式获取属性值 登录后复制 package com.demo; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; public class BeanUtil { public static List<String> getFields(Class<?> clazz) { List<String> fields = new ArrayList<>(); // 获取所有属性(包括私有的) Field[] allFields = clazz.getDeclaredFields(); for (Field field : allFields) { fields.add(field.getName()); } return fields; } } 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19. 测试 登录后复制 package com.demo; import com.demo.bean.UserBean; import org.junit.jupiter.api.Test; import java.util.List; import static org.junit.jupiter.api.Assertions.*; class BeanUtilTest { @Test void getFields() { List<String> fields = BeanUtil.getFields(UserBean.class); System.out.println(fields); } } 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18. 输出 登录后复制 [name, age, tags] 1. 也可以将class转为map对象,获取key的集合 可参考:Java:Bean实体对象和Map互相转换 原创作者: mouday 转载于: https://blog.51cto.com/mouday/11722401