1. 什么时间需要进行判断空值?
需要根据实际情况判断,如要是必须参数,不仅要做非空判断,还要判断该值是否符合要求。比如:name属性 限定长度是10个 ,而输入的长度是20个,虽然满足非空,但是并不能满足长度限制。
2. 怎么做非空判断
2.1 字符串的非空判断
https://www.jb51.net/article/186896.htm
1.StringUtils.isEmpty()
没有忽略空格参数,是根据 是否为空 和 是否存在为判断依据。
StringUtils.isEmpty("Str") == false;
StringUtils.isEmpty("") == true;
StringUtils.isEmpty(" ") == false;
2.StringUtils.isBlank()
是在StringUtils.isEmpty的基础上进行了为空的判断。(一般更为常用)
StringUtils.isBlank("Str") == false;
StringUtils.isBlank("") == true;
StringUtils.isBlank(" ") == true;
2.2 对象的非空判断
我们想抛出一个空指针异常的时候,以前会:
if(Obj == null){
throw new xxxException("该记录不存在XXX");
}
现在可以使用:
Objects.requireNonNull(T obj,"该记录不存在xxxx");
它们的实现区别不大,但是第二种更优雅一些。
2.3 集合的非空判断
CollectionUtils.isEmpty(listLinks);
需要注意的是:
集合不能存放double类型,只能存在Double中。