java将List<Object>转为List<Map<String, Object>>,可复用
2023-12-14 11:36:44
在开发时我们有时候需要将将List转为List<Map<String, Object>>,可以参考下面的方法
ObjectToMapConverter.java
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ObjectToMapConverter {
public static <T> List<Map<String, Object>> convertList(List<T> objectList, Class<T> clazz) {
List<Map<String, Object>> mapList = new ArrayList<>();
for (T obj : objectList) {
Map<String, Object> map = new HashMap<>();
// 获取对象的所有字段并将其转换为Map
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true); // 设置字段可访问
String fieldName = field.getName();
Object value;
try {
value = field.get(obj);
map.put(fieldName, value);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
mapList.add(map); // 将新的 Map 添加到列表中
}
return mapList;
}
}
调用示例:
User.java
@Data
public class User{
private Integer userId;
private String userName;
}
Main方法
public class Main {
public static void main(String[] args) {
List<User> list= new ArrayList<>();
User use1 = new User();
use1.setUserId(1001);
use1.setUserName("十七");
list.add(user1);
User user2 = new User();
user2.setUserId(1002);
user2.setUserName("小明");
list.add(user2);
//...
List<Map<String, Object>> mapList = ObjectToMapConverter.convertList(list, User.class);
// 现在 mapList 包含了转换后的 List<Map<String, Object>>
}
}
点赞、收藏不迷路
文章来源:https://blog.csdn.net/qq_39327650/article/details/134866844
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!