[{id=class, name=Class, super=, attributes={}}, {id=1774522940461678598, name=military ships, super=Class, attributes={}}, {id=1774522940470067204, name=ferry ships, super=Class, attributes={}}, {id=1774522940470067205, name=Container vessels, super=Class, attributes={}}, {id=1774522940461678597, name=Rescue Vessel, super=Class, attributes={}}] 转为list java
时间: 2024-03-02 11:49:42 浏览: 131
假设你有一个包含上述元素的List<Map<String, Object>>,你可以使用以下代码将其转换为List<ClassInfo>:
```
List<Map<String, Object>> data = // 假设你已经有了上述数据
List<ClassInfo> classInfos = data.stream().map(map -> {
ClassInfo classInfo = new ClassInfo();
classInfo.setId((Long) map.get("id"));
classInfo.setName((String) map.get("name"));
classInfo.setSuperClass((String) map.get("super"));
Map<String, Object> attributes = (Map<String, Object>) map.get("attributes");
classInfo.setAttributes(attributes);
return classInfo;
}).collect(Collectors.toList());
```
其中,ClassInfo是一个包含id、name、superClass和attributes属性的类。
上述代码中,我们使用Stream API中的map方法来将每个Map对象转换为一个ClassInfo对象,并使用Collectors.toList()方法将它们收集到一个List<ClassInfo>中。
请注意,由于Map中的属性值类型不确定,因此我们需要进行强制类型转换。如果Map中属性值的类型与我们期望的类型不匹配,可能会抛出ClassCastException异常。因此,在实际应用中,我们应该根据具体情况进行异常处理。
阅读全文