Java判断对象是否为空

引言

 在做Java开发时,经常需要判断对象是否为空,主要对象为“数组,集合,字符串”,用到的方法有isEmpty,isBlank等乱七八糟的,这篇文章来做一个梳理总结。

一、数组

1.1 数组长度

 判断array不为null,且数组长度大于0:

String[] array = new String[]{};
if(array != null && array.length > 0){
}

1.2 isEmpty

 使用工具包封装好的方法,用的很少,了解即可:

ArrayUtils.isEmpty(strs);

PS:建议用数组长度。

二、集合

2.1 isEmpty

 集合对象的isEmpty方法(注意对象不能为null):

List<String> list = new LinkedList<>();
if(list != null && list.isEmpty()){
}

 工具包中封装好的isEmpty方法:

// jar包:org.apache.commons.collections.CollectionUtils
List<String> list = new LinkedList<>();
// 同时判断集合list是否null和空
if (CollectionUtils.isEmpty(list)) {
}
if (CollectionUtils.isNotEmpty(list)) {
}

2.2 集合长度

 判断collection不为null,且集合长度大于0(注意是size,而不是length):

List<String> list = new LinkedList<>();
if(list != null && list.size() > 0){
}

PS:建议用isEmpty。

三、字符串

3.1 isEmpty和isBlank

1. 使用

 字符串对象的isEmpty和isBlank方法(注意对象不能为null):

String string = "";
if (string != null && string.isEmpty()) {
}
if (string != null && string.isBlank()) {
}

 工具包中封装好的isEmpty和isBlank方法:

// jar包:org.apache.commons.lang3
String string = "";
if (StringUtils.isEmpty(string)){
}
if (StringUtils.isNotEmpty(string)) {
}
if (StringUtils.isBlank(string)){
}
if (StringUtils.isNotBlank(string)) {
}

2. 区别

 isEmpty:仅仅判断null(符串对象无法调用,故无法判断)和长度为0的字符串;
 isBlank:不仅判断null和长度为0的字符串,还判断空白字符(包括空格,制表符\t,换行符\n,换页符\f,回车\r)组成的字符串。
 举例:

StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("aaa") = false
StringUtils.isEmpty("\t \n \r \f") = false
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUitls.isBlank(" ") = true
StringUtils.isBlank("aaa") = false
StringUtils.isBlank("\t \n \r \f") = true

3.2 字符长度

 和数组类似,判断str不为null,且数组长度大于0(注意array.length和str.length()的区别):

String string = "";
if(string != null && string.length() > 0){
}

PS:建议用isBlank。

参考

java判断一个字符串是否为空,isEmpty和isBlank的区别
Java判断对象是否为空的方法:isEmpty,null," "
Java中判断数组是否为空?

  • 1
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值