关于Map数据类型的强转

最近在开发项目的时候,发现有个哥们在做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) {
        
    }
}

你可能感兴趣的:(java,开发语言,后端)