List

addAll空指针

两个都需要判断空指针

  1. ===============可通过编译,无空指针异常===============
  2. List<Long> oldDepts = new ArrayList<>();
  3. List<Long> nowDepts = new ArrayList<>();
  4. nowDepts.addAll(oldDepts);
  5. ===============空指针异常===============
  6. List<Long> oldDepts = new ArrayList<>();
  7. List<Long> nowDepts = null;
  8. nowDepts.addAll(oldDepts);
  9. ===============空指针异常===============
  10. List<Long> oldDepts = null;
  11. List<Long> nowDepts = new ArrayList<>();
  12. nowDepts.addAll(oldDepts);
  13. ===============空指针异常===============
  14. List<Long> oldDepts = null;
  15. List<Long> nowDepts = null;
  16. nowDepts.addAll(oldDepts);

Map

非空校验

空集合,空key,空value

  1. public void checkDepartmentCode(Map<String, Dept> deptMap) {
  2. //1,看map是否为空
  3. if (CollectionUtils.isEmpty(deptMap)) {
  4. setErrorMsg("申请部门不存在;");
  5. setErrorFields("departmentCode");
  6. return;
  7. }
  8. //2,看key是否为空
  9. if(!deptMap.containsKey(getDeptCode())){
  10. setErrorMsg("申请部门不存在;");
  11. setErrorFields("departmentCode");
  12. return;
  13. }
  14. //3,value是否为空
  15. if (StringUtils.isEmpty(deptMap.get(getDeptCode()).getName())) {
  16. setErrorMsg("申请部门不存在;");
  17. setErrorFields("departmentCode");
  18. return;
  19. }
  20. }
  1. //判断集合是否为空
  2. CollectionUtils.isEmpty(deptMap)
  3. //判断集合是否有该key
  4. deptMap.containsKey("111");
  5. //判断value是否为空
  6. StringUtils.isEmpty("123");
  1. //添加一个键值对,如果集合中的key重复,则覆盖原来的键值对;
  2. Object put(Object key,Object value)
  3. //将Map中的键值对复制到本Map中;
  4. void putAll(Map m)
  5. //删除指定的key对应的键值对,并返回被删除键值对的value,如果不存在,则返回null;
  6. Object remove(Object key)
  7. //删除指定键值对,删除成功返回true;
  8. boolean remove(Object key,Object value)
  9. // 删除该Map中所有键值对
  10. void clear()
  11. //返回指定key对应的value,如果不包含key则返回null;
  12. Object get()
  13. //返回该Map里的键值对个数;
  14. int size()
  15. //查询Map中是否包含指定的key值;
  16. boolean containsKey(Object key)
  17. //查询Map中是否包含一个或多个value;
  18. boolean containsValue(Object value)
  19. //查询该Map是否为空;
  20. boolean isEmpty()
  21. //返回map中包含的键值对所组成的Set集合,每个集合都是Map.Entry对象。
  22. Set entrySet()
  23. //返回Map中所有key组成的集合
  24. Set keySet()

JSON

json转实体类

json转集合

  1. //集合为空,则初始化
  2. Optional.ofNullable(deptList).orElse(Lists.newArrayList());