java-collection中的null,isEmpty用法
短信预约 -IT技能 免费直播动态提醒
collection中的null,isEmpty用法
只使用java utils包的isEmpty.
第一种情况
实例化list,但是size为空。
List<String> list =new ArrayList<>();
if (list.isEmpty()) {
System.out.println("1");
}
if (!list.isEmpty()) {
System.out.println("2");
}
if (list != null) {
System.out.println("3");
}
if (list != null && list.size() > 0) {
System.out.println("4");
}
输出:
1
3
第二种情况
add值到list中
List<String> list =new ArrayList<>();
list.add("da");
if (list.isEmpty()) {
System.out.println("1");
}
if (!list.isEmpty()) {
System.out.println("2");
}
if (list == null) {
System.out.println("3");
}
if (list != null && list.size() > 0) {
System.out.println("4");
}
输出:
2
4
第三种情况
只创建list的引用,不实例化。
List<String> list = null;
if (list.isEmpty()) {
System.out.println("1");
}
if (!list.isEmpty()) {
System.out.println("2");
}
if (list != null) {
System.out.println("3");
}
if (list != null && list.size() > 0) {
System.out.println("4");
}
输出:
Exception in thread "main" java.lang.NullPointerException
改进办法:
使用org.apache.commons.collections.CollectionUtils;
CollectionUtils.isEmpty(Collecions<extend>);
可以避免
java.lang.NullPointerException异常
CollectionUtils.isEmpty和 == null的区别
本文所指的 CollectionUtils 所属包
org.apache.commons.collections
CollectionUtils.isEmpty() 包含null,size=0等多种情况
而== null 只能用来判断是否为null
举个例子
if (CollectionUtils.isEmpty(orderDTO.getOrderDetailList())) {
log.error("[创建订单]购物车不能为空,customerOrderForm = {}", customerOrderForm);
throw new CustomerOrderControllerException(CustomerOrderControllerStateEnum.SHOPPING_CART_EMPTY);
}
OrderDTO orderDTOResult = orderService.createOrder(orderDTO);
此处if判断条件中,不仅可以判断获取的List是否为null,还能判断获取的List的size是否为0
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341