如何判断List 集合和Map 集合是否为空

1:废话少说,直接上代码

  	    //使用CollectionUtils Spring 包下的工具类
		List<Object> list = new ArrayList<>();

		if (list.isEmpty()) {
			log.info("当前的CollectionUtils-->{}",list.isEmpty());
		}

		if (CollectionUtils.isEmpty(list)){
			log.info("当前的CollectionUtils-->{}",CollectionUtils.isEmpty(list));
		}

		//ObjectUtils  Spring 包下的工具类
		if (ObjectUtils.isEmpty(list)) {
			log.info("当前的ObjectUtils-->:{}",ObjectUtils.isEmpty(list));
		}

执行结果如下:

6a092b68885241288fc3453418f7f1c5.png

 1.1:特殊情况

        ArrayList<Object> list1 = new ArrayList<>();
		list1 = null;
		try{
			//如果将list1 置为 null  进行判断非空的情况下 可以使用Objects.isNull()  方法
			if (Objects.isNull(list1)){
				log.info("Objects.isNull-->{}",Objects.isNull(list1));
			}
			//如果调用  isEmpty() 方法进行判断非空的情况下 就会报空指针异常, 报错异常原因如下
			if (list1.isEmpty()) {
				log.info("list1.isEmpty()-->,{}",list1.isEmpty());
			}
		}catch (Exception e) {
			log.info("Exception-->",e);
		}

     

打印结果如下:

434a9293f0eb42cc9579b8bbeee1163e.png

 调用isEmpty 方法报错原因如下:

此时使用isEmpty()是出现了空指针异常NullpointException;原来isEmpty()用来判断一个变量是否已经初始化了,因为 “” 和new 的时候系统都会为其分配内存, 不管是否有值,当为null的时候,系统的不会为其分配内存,这是它是不存在的,如果调用isEmpty()方法时JDK根本不知道这是什么所以会报空指针异常;所以使用该方法判断之前应先判断是否为null

2:Map 集合

	   Map<String,String> map = new HashMap();
//		map.put("1","xia");

		if (map.isEmpty()){
			log.info("map.isEmpty-->{}", map.isEmpty());   //为真打印True
		}else {
			log.info("map.isEmpty-->{}", map.isEmpty());   //为假打印FALSE
		}

		//判断map 集合中是否 存在 键值为: 1  的数据
		if (map.containsKey("1")) {
			log.info("map.containsKey-->{}", map.get(1));
		}

		//  使用ObjectUtils 来判断map 集合是否为空
 		if (ObjectUtils.isEmpty(map)) {
			log.info("当前的ObjectUtils集合为空:{}",map.isEmpty());
		}

		//判断map 集合中的value 值是否为空
		map.put("2","");
		if ("".equals(map.get("2"))) {
			log.info("当前的value值为:{}", map.get(2));
		}

打印结果如下:

67ef0198dbe7400faac6abf81de2bc6a.png

 2.1:特殊情况

	    HashMap<Object, Object> map1 = new HashMap<>();
		map1 = null;
		try {

			if (Objects.isNull(map1)) {
				log.info("Objects.isNull-->{}",Objects.isNull(map1));
			}

			if (ObjectUtils.isEmpty(map1)) {
				log.info("ObjectUtils.isEmpty-->{}",ObjectUtils.isEmpty(map1));
			}

			if (map1.isEmpty()) {
				log.info("当前的map集合为空:{}",map1.isEmpty());
			}

		}catch (Exception e) {
			// 此时使用isEmpty()是出现了空指针异常NullpointException;
			// 原来isEmpty()用来判断一个变量是否已经初始化了,
               因为 “” 和new 的时候系统都会为其分配内存,
			// 不管是否有值,当为null的时候,系统的不会为其分配内存,这是它是不存在的,
			// 如果调用isEmpty()方法时JDK根本不知道这是什么所以会报空指针异常;
			// 所以使用该方法判断之前应先判断是否为null
		    log.error("报错了,{}",e);
		}

打印结果如下:(当map = null  ,调用isEmpty 报错)

a6459cf109e74e63b40e1e19072be3aa.png

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

入夏忆梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值