java判断空的实现方法

 更新时间:2024年09月17日 10:36:59   作者:lib_w  
字符串判断空有两种情况:一个是分配了内存但值为空(""),另一个是未分配内存(null),判断方法包括isEmpty()和isBlank(),其中isBlank()还可以过滤空格、制表符,对于列表,判断不为空可以使用list!=null && !list.isEmpty()或list!=null && list.size()>0

字符串判空

字符串为空分为两种情况

1)“”:表示分配了内存空间,值为空字符串,有值。

2)null:未分配内存空间,无值,值不存在。

为空的标准为:str == null 或 str.length()==0

1.判断为空

isEmpty()方法,判断是否为空,是否为空字符串(在String为null时,会出现空指针错误,isEmpty()方法底层是判断长度)isBlank()方法,是判断字符串是否为空,空格、制表符、tab。

public static boolean isEmpty(CharSequence cs) {
       return cs == null || cs.length() == 0;
   }

public static boolean isBlank(CharSequence cs) {
        int strLen;
        if (cs != null && (strLen = cs.length()) != 0) {
        	//判断是否为空格、制表符、tab
            for(int i = 0; i < strLen; ++i) {
                if (!Character.isWhitespace(cs.charAt(i))) {
                    return false;
                }
            }

            return true;
        } else {
            return true;
        }
    }

2.判断不为空

isNotEmpty()、isNotBlank()

推荐使用lang3下的StringUtiles工具类中

StringUtils.isBlank()和StringUtils.isNotBlank(),它会过滤空格。

List判空

1.判断list不为空

  • 方法1:list != null && !list.isEmpty()
  • 方法2:list != null && list.size() > 0

注:

  • list!=null:判断是否存在list,null表示这个list不指向任何的东西,如果为空时调用它的方法,那么就会出现空指针异常。
  • list.isEmpty():判断list里是否有元素存在
  • list.size():判断list里有几个元素

所以判断list里是否有元素的最佳的方法是:

if(list != null && !list.isEmpty()){
//list存在且里面有元素
}

2.判断list为空

  • 方法1:list == null || list.size() == 0

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Jackson库中objectMapper的用法

    Jackson库中objectMapper的用法

    这篇文章主要介绍了Jackson库中objectMapper的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • 关于Long和Integer相互转换方式

    关于Long和Integer相互转换方式

    这篇文章主要介绍了关于Long和Integer相互转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Java使用get请求接收List集合数据(json)并导出报表问题

    Java使用get请求接收List集合数据(json)并导出报表问题

    这篇文章主要介绍了Java使用get请求接收List集合数据(json)并导出报表问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • SpringCloud 分布式锁的多种实现

    SpringCloud 分布式锁的多种实现

    本文主要介绍了SpringCloud 分布式锁的多种实现,主要有三种方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 理解zookeeper选举机制

    理解zookeeper选举机制

    本文主要介绍了zookeeper选举机制的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • SpringBoot自动配置原理,你真的懂吗?(简单易懂)

    SpringBoot自动配置原理,你真的懂吗?(简单易懂)

    这篇文章主要介绍了SpringBoot自动配置原理,你真的懂吗?本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • Java 替换字符串右侧出现的第一个子串方式

    Java 替换字符串右侧出现的第一个子串方式

    这篇文章主要介绍了Java 替换字符串右侧出现的第一个子串方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Spring Cloud Consul的服务注册与发现

    Spring Cloud Consul的服务注册与发现

    这篇文章主要介绍了Spring Cloud Consul服务注册与发现的实现方法,帮助大家更好的理解和学习使用spring框架,感兴趣的朋友可以了解下
    2021-02-02
  • SpringBoot引入swagger报错处理的解决方法

    SpringBoot引入swagger报错处理的解决方法

    这篇文章主要给大家介绍SpringBoot引入swagger是会出现报错的处理解决方法,文中有详细的解决过程,感兴趣的小伙伴可以跟着小编一起来学习吧
    2023-06-06
  • Java并发编程中使用Executors类创建和管理线程的用法

    Java并发编程中使用Executors类创建和管理线程的用法

    这篇文章主要介绍了Java并发编程中使用Executors类创建和管理线程的用法,文中举了用其启动线程和设置线程优先级的例子,需要的朋友可以参考下
    2016-03-03

最新评论