import java.util.HashMap;
import java.util.Map;
public class ObjectToMapExample {
// 定义一个简单的类
static class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// Getter 和 Setter 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
// 将对象转换为 Map 的方法
public static Map<String, Object> objectToMap(Object obj) {
Map<String, Object> map = new HashMap<>();
if (obj == null) {
return map;
}
try {
java.lang.reflect.Field[] fields = obj.getClass().getDeclaredFields();
for (java.lang.reflect.Field field : fields) {
field.setAccessible(true);
map.put(field.getName(), field.get(obj));
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return map;
}
public static void main(String[] args) {
// 创建一个 Person 对象
Person person = new Person("Alice", 30);
// 将对象转换为 Map
Map<String, Object> personMap = objectToMap(person);
// 打印结果
System.out.println(personMap);
}
}
Person 类,包含两个属性 name 和 age。HashMap 中。注意这里使用了 Field.setAccessible(true) 来访问私有字段。Person 对象,并调用 objectToMap 方法将其转换为 Map,最后打印出结果。这样你就可以将任意对象转换为 Map,方便在需要的地方使用。
上一篇:java访问修饰符
下一篇:java类加载过程
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站