import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
public class ObjectToMapExample {
// 定义一个简单的类,用于演示
public static class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// Getters and Setters (省略)
}
// 将对象转换为Map的方法
public static Map<String, Object> objectToMap(Object obj) throws IllegalAccessException {
Map<String, Object> map = new HashMap<>();
Class<?> clazz = obj.getClass();
for (Field field : clazz.getDeclaredFields()) {
field.setAccessible(true); // 允许访问私有字段
map.put(field.getName(), field.get(obj));
}
return map;
}
public static void main(String[] args) {
try {
Person person = new Person("John", 30);
Map<String, Object> personMap = objectToMap(person);
System.out.println(personMap); // 输出: {name=John, age=30}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
Person
类,包含两个私有字段 name
和 age
。Map
中。为了访问私有字段,使用了 field.setAccessible(true)
。Person
对象并调用 objectToMap
方法将其转换为 Map
,最后打印结果。这段代码展示了如何将一个 Java 对象转换为 Map
,并通过反射机制获取对象的字段名和字段值。
上一篇:java jwt
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站