1、创建工具类
package com.base.reflect;import mons.lang3.reflect.FieldUtils;import java.lang.reflect.Field;import java.util.HashMap;import java.util.Map;import java.util.Set;//@Slf4jpublic class BeansFieldUtils {public static Map<String, Object> getObjectValue(Object object, Set<String> set) {Map<String, Object> map = new HashMap<>();Class<?> clz = object.getClass();Field[] fields = clz.getDeclaredFields();try {for (Field field : fields) {if (!set.contains(field.getName())) {continue;}Object val = FieldUtils.readField(field, object, true);map.put(field.getName(), val);}} catch (Exception e) {// log.error("获取属性异常:{}", e);}return map;}public static Map<String, Object> getObjectValue(Object object) {Map<String, Object> map = new HashMap<>();Class<?> clz = object.getClass();Field[] fields = clz.getDeclaredFields();try {for (Field field : fields) {Object val = FieldUtils.readField(field, object, true);map.put(field.getName(), val);}} catch (Exception e) {// log.error("获取属性异常:{}", e);}return map;}public static void main(String[] args) {UserInfo user = new UserInfo();Student student = new Student();Map userMap = getObjectValue(user);Map studentMap = getObjectValue(student);System.out.print("user:");userMap.forEach((key, value) -> {System.out.print(key + "=" + value + ";");});System.out.println();System.out.print("student:");studentMap.forEach((key, value) -> {System.out.print(key + "=" + value + ";");});System.out.println();}}
2、Student类
package com.base.reflect;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructorpublic class Student {private String name = "张明";private Integer age = 15;private Integer height = 181;}
3、UserInfo类
package com.base.reflect;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructorpublic class UserInfo {private String name = "张三 ";private String gender = "男";private Integer age = 20;}
4、打印输出
user:gender=男;name=张三 ;age=20;
student:name=张明;age=15;height=181;