list<entity>转list<map>
时间: 2023-12-09 12:03:03 浏览: 91
List转换成Map工具类的简单实例
要将List<Entity>转化为List<Map<Object, Object>>,可以使用以下方法:
1. 首先,我们需要创建一个空的List<Map<Object, Object>>来存储转化后的结果。
2. 然后,我们遍历原始的List<Entity>中的每个实体对象。
3. 对于每个实体对象,我们需要创建一个空的Map<Object, Object>来存储转化后的键值对。
4. 我们使用反射获取实体对象的所有get方法,并遍历每个get方法。
5. 对于以"get"开头的方法名,我们将其截取后面的属性名,并将首字母转为小写,用作Map中的键。
6. 使用反射调用get方法获取实体对象中对应属性的值。
7. 如果属性的返回类型是java.util.Date,并且值不为null,则将日期格式化为指定的格式(比如"yyyy-MM-dd HH:mm:ss")。
8. 将属性名作为键,属性值作为值,存入Map中。
9. 将转化后的Map添加到结果的List中。
10. 最后返回转化后的List<Map<Object, Object>>。
下面是一个示例的代码实现,用于将List<Entity>转化为List<Map<Object, Object>>:
```
public static <T extends IdEntity> List<Map<Object, Object>> EntityConvertMap(List<T> list) {
List<Map<Object, Object>> result = new LinkedList<>();
try {
for (T entity : list) {
Map<Object, Object> map = new HashMap<>();
Method[] methods = entity.getClass().getMethods();
for (Method method : methods) {
if (method.getName().startsWith("get")) {
String name = method.getName().substring(3);
name = name.substring(0, 1).toLowerCase() + name.substring(1);
Object value = method.invoke(entity);
if (method.getGenericReturnType().toString().equals("class java.util.Date") && value != null) {
value = getNow((Date) value, "yyyy-MM-dd HH:mm:ss");
}
map.put(name, value);
}
}
result.add(map);
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
```
这样,你就可以使用该方法将List<Entity>转化为List<Map<Object, Object>>了。<span class="em">1</span><span class="em">2</span>
阅读全文