当前位置:首页 > Java技术 > Java判断对象是否为空

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中判断数组是否为空?

作者:Boom Lee
来源链接:https://blog.csdn.net/Xuanzhen_Li/article/details/119152632


版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/java/68204.html

分享给朋友: