1,以后一定一定要多加非空判断,特别是feign调用,即使是sout打印。感觉有必要也要加上。
2,喜欢用lamda,就要用好!处理某个值也要考虑null的情况,直接toString(),
如果还不加try catch打印异常。到了服务器真实数据教你做人,就报空指针,第几行都不给你说。
或者在sql中进行处理下。is not null 又不难写 又不难理解。
public static void main(String[] args) {
List<Map<String, Object>> list =new ArrayList<>();
List<String> module_ids = new ArrayList<>();
Map<String, String> menuName = new HashMap<>();
module_ids.add("m1");
Map<String,Object> map = new HashMap<>();
map.put("k",null);
map.put("k1","1");
Map<String,Object> map1 = new HashMap<>();
map1.put("k","m1");
map1.put("k1","m2");
list.add(map);
list.add(map1);
menuName = list.stream().filter(e->module_ids.contains(e.get("k")!=null?e.get("k").toString():"")).
collect(Collectors.toMap(e -> e.get("k").toString(), e -> e.get("k1").toString()));
System.out.println(menuName.toString());
}
真实数据是考验代码是否健壮的一个重要标准
最新推荐文章于 2025-02-26 10:15:07 发布
