java-collection中的null,isEmpty用法
作者:黄国攀
这篇文章主要介绍了java-collection中的null,isEmpty用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。