最近在开发项目的时候,发现有个哥们在做Map数据强转List时总是报错,现在我把有关的转换列一下方便后续查阅:
1.获取Map里面的集合元素以及强转为List,判断是否为空
public void add(Map bean, MetaDBTemplate metadbTemplate) throws Exception {
List<Map> taskList = (List<Map>) bean.get("tasklist");
// 效率高
if(taskList==null || taskList.isEmpty()){
throw new RuntimeException("任务列表不能为空");
}
}
2.强转Map里面的元素为Map类型,判断是否为空
`Map leading_user_temp = (Map) map.get("leading_user_temp");
//效率高
if(leading_user_temp.isEmpty()){
throw new RuntimeException("不能为空");
}
`3.Map强转为List,判断是否为空
Map involve_user_temp = (Map) map.get("involve_user_temp");
List<Map> emp = (List<Map>) involve_user_temp.get("emp");
if(emp.isEmpty()){
}
4.获取Map的某个集合元素,转为ArrayList,ArrayList的元素用“,”分割连为字符串
if (MapUtils.getString(bean, "cust_type").equals("0") && StringUtils.isNotBlank(MapUtils.getString(bean, "gicstrade"))) {
ArrayList gicStrade = MapUtil.get(bean, "gicstrade", ArrayList.class);
String join = String.join(",", gicStrade);
bean.put("gicstrade",join);
}else{
bean.put("gicstrade", "");
}
5.判断Map的某个元素是否为空,不为空转为ArrayList类型
if (StringUtils.isNotBlank(MapUtils.getString(bean, "dynamicTags"))) {
ArrayList<String> dynamicTags = MapUtil.get(bean,"dynamicTags",ArrayList.class);
for (String dynamicTag : dynamicTags) {
}
}