Java 7新特性(六)——通过注释实现更好的决策

本文探讨了JSR305如何通过引入新的注解来提高软件质量,特别是针对方法调用的情况,例如参数是否允许为空等。同时介绍了JSR308对于Java类型注解的支持,使系统表达更加精确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

J2SE把我们带入了Java注释的世界,在Java SE 6中,我们只可以对类、方法、字段和变量声明进行注释。JSR 308:Java类中的标注(Annotations on Java Types)允许注释出现在任何可用的类型上,使得更具表现力和准确性的系统成为可能。

        在JSR 305:供检查软件缺陷用的注解(Annotations for Software Defect Detection)中尽管定义了一些注释,但是JSR本身并不定义任何更多的注释。JSR 305的目的是让开发者更准确的定义方法调用情况,诸如是否允许为空,集合是否可以为空集合等等。

        Listing 4演示了如何使用一个新注释。

        Listing 4

// A more precise class definition:
class UnmodifiableList implements @Readonly List<@Readonly T> { ... }
// A more precise variable declaration:
List str = new @NonEmpty @Readonly ArrayList(stringSet);

        注释处理器可以被插入到编译器中,以在编译的时候验证这些注释。This allows a great deal more specificity and precision, but it comes with a heavy cost of verbosity and will certainly fill some Java users with dread

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值