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)
//判断集合是否有该key
deptMap.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());