博客
关于我
Java中判断数组是否为空?
阅读量:755 次
发布时间:2019-03-23

本文共 1402 字,大约阅读时间需要 4 分钟。

###判断数组是否为空?

技术人员在判断一个数组是否为空时,通常会首先检查该数组是否为null,然后再判断其元素数量是否为0。例如:

String[] suzu = new String[] {};
if (suzu == null) {
// 没有元素,数组为null
} else if (suzu.length == 0) {
// 数组不为null,但没有元素
}

此外,使用java.util.Arrays类中的isNotEmpty方法可以简化代码:

if (!Arrays.isArray(suzu)) {
throw new IllegalArgumentException("suzu is not an array");
}
if (!Arrays.isNotEmpty(szu)) {
// 代码执行到这里说明suzu不为空且不为null
}

###判断集合是否为空?

当需要判断集合是否为空时,可以通过同时检查集合是否为null和其大小是否为0来实现。例如,使用org.apache.commons.collections.CollectionUtils中的isEmpty方法:

List
list = Lists.newArrayList();
if (CollectionUtils.isEmpty(list)) {
// 集合为空
} else {
// 集合不为空
}

若集合不为null且不为空,可以使用CollectionUtils.isNotEmpty方法:

if (CollectionUtils.isNotEmpty(list)) {
// 集合不为空且不为null
}

###判断字符串是否为空?

判断一个字符串是否为空时,通常需要同时检查字符串是否为null、是否为空字符串或是否为空白字符。例如,使用org.apache.commons.lang3.StringUtils类:

String string = null;
if (StringUtils.isNotBlank(string)) {
// 字符串不为空且不为空白
} else {
// 字符串为空或为空白
}

如果想检查字符串是否为null且为空白,可以使用以下代码:

if (StringUtils.isBlank(string)) {
// 字符串为null、为空或为空白
}

###判断两个字符串是否相等?

判断两个字符串是否相等时,建议使用org.apache.commons.lang.ObjectUtils中的equals方法。这种方法可以避免空指针异常,并且正确处理字符串相等的逻辑:

String string1 = null;
String string2 = null;
if (ObjectUtils.equals(string1, string2)) {
// 两个字符串相等
} else {
// 两个字符串不相等
}

这种方法在如下情况下非常有用:

  • string1为null且string2也为null:返回true
  • string1为null或string2为null:返回false
  • 两个字符串内容相等:返回true
  • 其余情况:返回false

转载地址:http://raszk.baihongyu.com/

你可能感兴趣的文章
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
MySQL 用 limit 为什么会影响性能?
查看>>
MySQL 用 limit 为什么会影响性能?有什么优化方案?
查看>>
MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
查看>>
mysql 用户管理和权限设置
查看>>
MySQL 的 varchar 水真的太深了!
查看>>
mysql 的GROUP_CONCAT函数的使用(group_by 如何显示分组之前的数据)
查看>>
MySQL 的instr函数
查看>>
MySQL 的mysql_secure_installation安全脚本执行过程介绍
查看>>
MySQL 的Rename Table语句
查看>>