关于Java比较难发现的空指针

		// 总之记住一点,只要是将null在集合中丢失原类型的情况下,将其赋值给任何基本类型数据,
		// 运行时都将报空指针异常,所以千万小心,如果null直接赋值基本类型则好说,因为编译器就会报错
		List list = new ArrayList<>();
		list.add(null);
		//System.out.println((Boolean)null); // 编译无误,且可以运行
		//System.out.println((boolean)null); // 编辑直接报错
		System.out.println((Boolean)list.get(0));// 编译无误,且可以运行
		System.out.println((boolean)list.get(0));// 编译无误,运行报错

 

IsViolation是boolean基本类型,这里如果list获取的是null就会产生空指针异常
原来:responseData.setIsViolation((Boolean)list.get(0));

修改:responseData.setIsViolation(Optional.<Boolean>ofNullable((Boolean)list.get(0)).orElse(Boolean.FALSE));

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值