List
addAll空指针
两个都需要判断空指针
===============可通过编译,无空指针异常===============List<Long> oldDepts = new ArrayList<>();List<Long> nowDepts = new ArrayList<>();nowDepts.addAll(oldDepts);===============空指针异常===============List<Long> oldDepts = new ArrayList<>();List<Long> nowDepts = null;nowDepts.addAll(oldDepts);===============空指针异常===============List<Long> oldDepts = null;List<Long> nowDepts = new ArrayList<>();nowDepts.addAll(oldDepts);===============空指针异常===============List<Long> oldDepts = null;List<Long> nowDepts = null;nowDepts.addAll(oldDepts);
Map
非空校验
空集合,空key,空value
public void checkDepartmentCode(Map<String, Dept> deptMap) {//1,看map是否为空if (CollectionUtils.isEmpty(deptMap)) {setErrorMsg("申请部门不存在;");setErrorFields("departmentCode");return;}//2,看key是否为空if(!deptMap.containsKey(getDeptCode())){setErrorMsg("申请部门不存在;");setErrorFields("departmentCode");return;}//3,value是否为空if (StringUtils.isEmpty(deptMap.get(getDeptCode()).getName())) {setErrorMsg("申请部门不存在;");setErrorFields("departmentCode");return;}}
//判断集合是否为空CollectionUtils.isEmpty(deptMap)//判断集合是否有该keydeptMap.containsKey("111");//判断value是否为空StringUtils.isEmpty("123");
//添加一个键值对,如果集合中的key重复,则覆盖原来的键值对;Object put(Object key,Object value)//将Map中的键值对复制到本Map中;void putAll(Map m)//删除指定的key对应的键值对,并返回被删除键值对的value,如果不存在,则返回null;Object remove(Object key)//删除指定键值对,删除成功返回true;boolean remove(Object key,Object value)// 删除该Map中所有键值对void clear()//返回指定key对应的value,如果不包含key则返回null;Object get()//返回该Map里的键值对个数;int size()//查询Map中是否包含指定的key值;boolean containsKey(Object key)//查询Map中是否包含一个或多个value;boolean containsValue(Object value)//查询该Map是否为空;boolean isEmpty()//返回map中包含的键值对所组成的Set集合,每个集合都是Map.Entry对象。Set entrySet()//返回Map中所有key组成的集合Set keySet()
JSON
json转实体类
json转集合
//集合为空,则初始化Optional.ofNullable(deptList).orElse(Lists.newArrayList());
