我的理解,你最后输出的是个Java对象么?
比如:
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//@Data
public class OrgVO {
//公司名称
private String orgName;
//收入类型(1为业务收入,2为投资收入,3为广告收入,4....)
private Integer incomeType;
//金额
private BigDecimal amount;
public String getOrgName() {
return orgName;
}
public void setOrgName(String orgName) {
this.orgName = orgName;
}
public Integer getIncomeType() {
return incomeType;
}
public void setIncomeType(Integer incomeType) {
this.incomeType = incomeType;
}
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
/**
* 封装数据方法
* @param map
* @return
*/
public static OrgVO initOrgVO(Map<String,Object> map){
OrgVO tempOrgVO = new OrgVO();
tempOrgVO.setOrgName(map.get("orgName").toString());
Integer inComeType=null;
switch (map.get("inComeType").toString()){
case "业务收入":
inComeType = 1;
break;
case "投资收入":
inComeType = 2;
break;
case "广告收入":
inComeType = 3;
break;
}
tempOrgVO.setIncomeType(inComeType);
tempOrgVO.setAmount((BigDecimal)map.get("amount"));
return tempOrgVO;
}
public static void main(String[] args) {
//测试数据,模拟你通过sql获取的数据
List<Map<String,Object>> maplist = new ArrayList<>();
Map<String,Object> map = new HashMap<>();
map.put("orgName","company1");
map.put("inComeType","业务收入");
map.put("amount",new BigDecimal("12.11"));
Map<String,Object> map2 = new HashMap<>();
map2.put("orgName","company1");
map2.put("inComeType","广告收入");
map2.put("amount",new BigDecimal("444.11"));
maplist.add(map);
maplist.add(map2);
//jdk1.8及以上
List<OrgVO> orgList = new ArrayList(){{
maplist.parallelStream().forEach(mapItem -> {
add(initOrgVO(mapItem));
});
} };
//自己输出一下
//jdk1.8以下
List<OrgVO> orgList2 = new ArrayList<OrgVO>(maplist.size());
for (Map<String,Object> tempMap : maplist){
orgList2.add(initOrgVO(tempMap));
}
//自己输出一下
}
}
评论删除后,数据将无法恢复