Object转List<Map<String, String>>
时间: 2023-10-14 10:22:18 浏览: 49
假设你的 Object 对象是一个包含多个字段的 Java Bean,你可以使用反射机制获取该对象的字段和值,然后将它们转换成 Map<String, String>。接着,将所有的 Map<String, String> 对象添加到一个 List 中即可。
以下是一个示例代码,假设你的 Java Bean 类名为 MyObject:
```java
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ObjectToListMap {
public static void main(String[] args) {
MyObject obj = new MyObject("John", "Doe", 30);
List<Map<String, String>> list = objectToListMap(obj);
System.out.println(list);
}
public static List<Map<String, String>> objectToListMap(Object obj) {
List<Map<String, String>> list = new ArrayList<>();
Class<?> clazz = obj.getClass();
Field[] fields = clazz.getDeclaredFields();
try {
Map<String, String> map;
for (Field field : fields) {
field.setAccessible(true);
map = new HashMap<>();
map.put(field.getName(), field.get(obj).toString());
list.add(map);
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return list;
}
}
class MyObject {
private String firstName;
private String lastName;
private int age;
public MyObject(String firstName, String lastName, int age) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
```
在上面的代码中,我们先创建了一个 MyObject 对象,然后将它传递给 objectToListMap 方法。该方法使用反射机制获取 MyObject 类的所有字段和值,并将它们转换成 Map<String, String> 对象。最后,将所有的 Map<String, String> 对象添加到一个 List 中,并返回该 List。在 main 方法中,我们打印了返回的 List 对象。运行该代码,将会输出以下结果:
```
[{firstName=John}, {lastName=Doe}, {age=30}]
```
你可以根据需要调整代码来适应你的具体情况。