有似乎是注释两种不同的JSR。
JSR-305:软件缺陷检测的注解 (额外资源)
JSR-308:关于Java类型的注解 (额外资源)
双方似乎对静态代码分析取向。
你知道吗:
- 这两者的将是要么在Java SE 7或Java EE 6?
- 如何“稳定”是每个JSR?
- 做一个取代版本(或者淘汰)其他?
有似乎是注释两种不同的JSR。
JSR-305:软件缺陷检测的注解 (额外资源)
JSR-308:关于Java类型的注解 (额外资源)
双方似乎对静态代码分析取向。
你知道吗:
我可以回答你的最后一个问题。 它们不是同一件事。 305是关于新的注解,你已经可以把它们,这可以帮助提供方案可视性通过合同制度的设计。 所以,如果某个方法应该不会返回null,或者一定的方法应该是从来没有收到一个空参数,就可以告诉系统分析注释看出来,在这段代码这种特殊情况下。
308是对能够注释更多的东西,例如一个通用的参数和类型转换。 我想应该是一个主要用途是能够抑制对特定类型转换的警告,而不必声明一个局部变量用于这一目的。 @SuppressWarnings注释已经存在(而JSR-305看起来来定义新的),但在JSR-308它可以被应用到更多的情况。
根据这个 308将Java7,这将意味着它是相当不错一起成为稳定的一部分。 JSR-305是不在名单上,所以它看起来并不像它会使其向Java7。
根据这一文件,最后更新于2010-09-19,JSR 308“推迟到JDK 8或更高版本”: http://openjdk.java.net/projects/jdk7/features/
对于未来的读者,JSR 308被集成到Java 7,它的一些变化已经被推到Java 7 JSR305的公共测试版却没有获得晋级。