java中做字符串非空判断,为啥要同时判断字符串不为null和不等于空串?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中做字符串非空判断,为啥要同时判断字符串不为null和不等于空串?相关的知识,希望对你有一定的参考价值。

字符串为空白是没有什么意义的,一般不能为null的时候同样不希望他是空串,如果可以为空串,那么在出现null的时候直接使用空串即可。
例如:用户名,用户名不应该为null。
那么他可以为“”这样的空白串吗?很明显,这样也是不可以的,因此要判断不为空串,另外我看到题目中是“不等于”,感觉是 != 这样,我建议你使用String的equals方法判别字符串是否相等,而不是“!=”。
你可以这样写:"".equals(oneString);
如果你需要的只是字符串不为空,你可以允许他为空白,那么你可以这样写:
Optional.ofNullable(oneString).orElse("");
参考技术A “”.equal(str)
如果字符串为null,那么也是假。
正常Null也是空。那么就需要在判断一次是否为空

java非空判断

  1. 是否为 null
  2. 是否为 ""
  3. 是否为空字符串(引号中间有空格)  如: "     "。
  4. 制表符、换行符、换页符和回车

一. 字符串

1. if(str == null || str == "")                 非空 if(str != null && str != "")

2. if(str == null || str.isEmpty())                  if(str != null && !str.isEmpty())

3.if (str == null  || "".equals(str.trim()))       if (str != null && !"".equals(str.trim()))

4.if(str == null   || str.length()<=0)              if(str != null && str.length()>0)

5.if(str == null || "".equals(str))                  if(str != null && !"".equals(str))

6.if(StringUtils.isBlank(str))                       if(StringUtils.isNotBlank(str))                  import org.apache.commons.lang3.StringUtils;判断的是str.length(),相当于4

二.数组

1.arr==null || (arr!=null &&arr.length==0)           非空  arr!=null || (arr==null &&arr.length!=0) 

三.List集合

1.if(list == null || list.isEmpty())            非空  if(list != null && !list.isEmpty())

2.if(list == null || list.size() == 0)                    if(list != null && list.size() > 0)

3.if(list == null || StringUtils.isEmpty(list))     if(list != null && !StringUtils.isEmpty(list))

4.if (CollectionUtils.isEmpty(list))                  if (CollectionUtils.isNotEmpty(list))      等价于2

四.Map

1.if (MapUtils.isEmpty(map))                    非空  if (MapUtils.isNotEmpty(map))      等价于2

2.if(map== null || map.size() == 0)                     if(map!= null && map.size() > 0)

3.if(map== null || StringUtils.isEmpty(map))      if(map!= null && !StringUtils.isEmpty(map))

4.if(map== null || StringUtils.isEmpty(map))          if(map!= null && !StringUtils.isEmpty(map))

null和isEmpty()的区别

  1. 这就相当于去商店买东西
  2.  null 首先判断是否有商店(new ArrayList();)
  3.  isEmpty()没有判断商店是否存在,而是判断商店是否有东西,如果连商店都没有,何来的的东西可卖(list.add(商品))

 

以上是关于java中做字符串非空判断,为啥要同时判断字符串不为null和不等于空串?的主要内容,如果未能解决你的问题,请参考以下文章

java中做字符串非空判断,为啥要同时判断字符串不为null和不等于空串?

java如何判断非空

java基础之----非空判断

如何判断 Tasker 变量是未设置、空字符串还是非空字符串

java非空判断

在java中为啥做了非空判断,但还是报错,比如下面,都做了是不是为null的判断,但是运行到那还是报null错