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

Java判断对象是否为空

2022年11月06日 18:12:52Java技术17

引言

 在做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

分享给朋友:

“Java判断对象是否为空” 的相关文章

深入理解 Java 并发锁

深入理解 Java 并发锁

📦 本文以及示例源码已归档在 javacore 一、并发锁简介 确保线程安全最常见的做法是利用锁机制(Lock、sychronized)来对共享数据做互斥同步,这样在同一个时刻,只有一个线程可以执行某个方法或者某个代码块,那么操作必然是原子性的,线程安全的...

Java虚拟机1:什么是Java

Java虚拟机1:什么是Java

前言 让我们来看一下Java的广告词,来自http://www.java.com/zh_CN/about/: 97%的企业桌面运行Java 美国有89%的桌面(或计算机)运行Java 全球有900万Java开发人员 开发人员的头号选择...

Java 基础:hashCode方法

Java 基础:hashCode方法

Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 一、前言     泥瓦匠最近被项目搞的天昏地暗。发现有些要给自己一些目标,关于技术的目标: 专注...

图解 Java IO : 二、FilenameFilter源码

图解 Java IO : 二、FilenameFilter源码

Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆  &...

java 实现图片压缩

转载https://www.cnblogs.com/strongmore/p/14158639.html 添加依赖 <dependency> <groupId>net.coobird</groupId> <artifa...

Java并发之AQS详解

Java并发之AQS详解

java、多线程、并发、AbstractQueuedSynchronized、AQS、Lock、Mutex、ReentrantLock、Semaphore、CountDownLatch、线程同步 一、概述   谈到并发,不得不谈ReentrantLock;而谈到...

Java集合---面试题

HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中,甚至会要求你实现...

Java 基础【06】 Super 用法

     路漫漫其修远兮,吾将上下而求索。——屈原《离骚》      昨天写this用法总结的时候,突然产生了一个问题,请教别人之后,有了自己的一点认识。还是把它写下来,为大家更好的认识提供一点思路。 1)有人写了...

图解 & 深入浅出 JavaWeb:Servlet必会必知

图解 & 深入浅出 JavaWeb:Servlet必会必知

Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆  &...

Java Ant build.xml详解

1,什么是ant ant是构建工具 2,什么是构建 概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个 3,ant的好处 跨平台   --因为ant是使用java实现的,所以它跨平台 使用...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。