似乎有两个不同的JSR用于注释。
两者似乎都面向静态代码分析。
你知道吗:
发布于 2009-09-25 13:25:19
我可以回答你的最后一个问题。它们不是一回事。305是关于新的注解的,你可以将它们放在其中,这可以帮助提供对契约式设计系统的编程可见性。因此,如果某个方法应该不返回null,或者如果某个方法永远不会接收null参数,那么可以告诉分析注释的系统在这段代码中查找这种特定的情况。
308是关于能够注释更多的东西,比如泛型参数和类型转换。我想它的主要用途是能够抑制特定类型转换的警告,而不是必须为此声明一个局部变量。@SuppressWarning注解已经存在(而JSR-305希望定义新的注解),但在JSR-308中,它可以应用于更多的情况。
根据this的说法,308将是Java7的一部分,这意味着它非常接近稳定。JSR-305不在列表中,所以看起来它不会进入Java7。
发布于 2010-12-05 12:37:17
根据这篇文档,最后一次更新是在2010-09-19,JSR308是“推迟到JDK8或更高版本”:http://openjdk.java.net/projects/jdk7/features/
发布于 2009-11-18 23:25:48
对于未来的读者,JSR308正在集成到Java7中。它的一些更改已经推送到Java7的公共测试版中。然而,JSR305没有进入测试阶段。
https://stackoverflow.com/questions/1476757
复制相似问题