Java开发笔记(八十三)利用注解技术检查空指针

注解属于比较高级的Java开发技术,前面介绍的内置注解专用于编译器检查代码,另外一些注解则由各大框架定义与调用,像Web开发常见的Spring框架、Mybatis框架,Android开发常见的ButterKnife框架等等,都使用了大量的注解。为了更好地弄清注解的应用原理,接下来不妨尝试自定义注解,并在实际开发中对自定义的注解加以运用。
之前介绍异常预防的时候,为了避免出现空指针异常,可谓是八仙过海各显神通,一路试验了多项新技术。其中校验某个字段非空尤其是个难点,案例中的苹果类共有四个字段,包括名称、颜色、重量、价格等,倘若要求这些字段均非空值才算有效记录的话,就得四个字段一一判断过去。那么采取for循环进行非空检查的常规代码示例如下:

// 常规的for循环校验,对每个对象及其每个属性都进行空指针判断
private static void getRedAppleByFor(List<Apple> list) {
	List<Apple> redAppleList = new ArrayList<Apple>();
	if (list != null) { // 判断清单非空
		for (Apple item : list) {
			// 对每个字段依次进行空指针判断
			if (item!=null && item.getName()!=null && item.getColor()!=null 
					&& item.getWeight()!=null && item.getPrice()!=null) {
				if (item.isRedApple()) { // 判断是否为红苹果
					redAppleList.add(item);
				}
			}
		}
	}
	System.out.println("常规的For循环校验之后的红苹果清单=" + redAppleList.toString());
}

从以上代码可见,对每个字段依次进行空指针判断,这里的条件语句拖得老长。倘若给苹果类新增一个字段,那么此处的条件语句还得补上新字段的非空校验。即使采用Java8引入的可选器Optional,也没有更好的办法,如此窘境简直叫人束手无策。
如今有了注解技术,号称可以自动检查代码,总算出现解决问题的一缕曙光。具体的处理过程大致分为四个步骤:自定义新的非空注解、给非空字段添加非空注解、利用反射机制校验被非空

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值