从此不再抓狂:Java中Object判空全解析

197 阅读1分钟

判空

笔者最近在做毕设系统过程中,遇到诸多场景需要对各种object判空,特此总结,希望能帮到各位!

0.String类型

0.0、 开发中最常用的方法

   if(StringUtils.isNotBlank(str))//判断字符串不为空
   if(StringUtils.isBlank(str))//判断字符串为空

0.1、简单直接

   if(s == null ||"".equals(s));

0.2、 比较字符串长度

   if(s == null || s.length() <= 0);

0.3、不建议此方法

  if(s == null || s.isEmpty());

0.4、比较直观

   if (s == null || s == "");

1.Collection判断

1.0、基础方式

if(obj != null && !obj.isEmpty())

1.1、CollectionUtils

if(CollectionUtils.isNotEmpty(obj))

1.2、Objects

if(!Objects.isNull(obj))

1.3、若是String类型

if(Objects.equals(string1.string2))

1.4、Array判空

if(array != null && array.length() > 0)

2.备注

isNotBlank和isNotEmpty的区别

2.0、isNotBlank(判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成)

等于:!isBlank(String str)
等价于:str != null && str.length > 0 && str.trim().length > 0
 
StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("\t \n \f \r") = false
StringUtils.isNotBlank("\b") = true
StringUtils.isNotBlank("bob") = true
StringUtils.isNotBlank(" bob ") = true

2.1、isNotEmpty(判断某字符串是否非空且长度不为0)

等于:!isEmpty(String str)
等价于:str != null && str.length > 0
StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("bob") = true
StringUtils.isNotEmpty(" bob ") = true