文章目录
介绍
在做Java开发的时候,经常需要判断一个对象是否为空。 主要对象是“数组、集合、字符串”。 使用的方法很混乱。 本文将做一个总结。
1. 数组 1.1 数组长度
判断数组不为null,且数组长度大于0:
String[] array = new String[]{};
if(array != null && array.length > 0){
}
1.2
使用工具包的封装方法,很少用到,了解一下即可:
ArrayUtils.isEmpty(strs);
PS:建议使用数组长度。
2. 采集 2.1
集合对象的方法(注意对象不能为null):
List<String> list = new linkedList<>();
if(list != null && list.isEmpty()){
}
工具包中封装的方法:
// jar包:org.apache.commons.collections.CollectionUtils
List<String> list = new linkedList<>();
// 同时判断集合list是否null和空
if (CollectionUtils.isEmpty(list)) {
}
if (CollectionUtils.isNotEmpty(list)) {
}
2.2 设定长度
判断不为null,且集合长度大于0(注意是size,不是):
List<String> list = new linkedList<>();
if(list != null && list.size() > 0){
}
PS:建议使用。
3.字符串3.1和1.使用
字符串对象的sum方法(注意对象不能为null):
String string = "";
if (string != null && string.isEmpty()) {
}
if (string != null && string.isBlank()) {
}
工具包中封装的sum方法:
// jar包:org.apache.commons.lang3
String string = "";
if (StringUtils.isEmpty(string)){
}
if (StringUtils.isNotEmpty(string)) {
}
if (StringUtils.isBlank(string)){
}
if (StringUtils.isNotBlank(string)) {
}
2. 差异
:只判断null(不能调用字符串对象,所以无法判断)和长度为0的字符串;
:不仅判断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.和str.()的区别):
String string = "";
if(string != null && string.length() > 0){
}
PS:建议使用。
参考
Java判断字符串是否为空,以及区别
Java判断对象是否为空的方法:,null,""
Java中如何检查数组是否为空?