我已经看到了JSR305与JSR308(Java Type Anotations)的问题 - 这将成为标准吗?我理解JSR 308和JSR 305之间的区别.
我也明白,在这个时候,308是针对Java 7,305不是,我很好奇305的整体状态.
具体来说,我在我的一些项目中使用Google Collections和JSR-305(与Guice最佳实践倡导者的方式类似)并且想知道是否有更多"未来方向" - 我应该使用的友好方法代替.我打算在JSR-305小组上询问这个问题,但该小组没有太多活动,我只是想知道这里是否有人有更多信息.
sbr*_*ges 67
如本回答所述,JSR-305提出了新的注释,例如@NonNull,而JSR-308建议允许在新的地方注释,例如泛型声明.
引用JSR 308页面:
...本文档未提出任何注释,仅指定它们在Java代码中的显示位置.
JSR 308(新地方的注释)包含在JEP 104下的Java 8中.
截至2017年,JSR 305(新注释)继续具有"休眠"的官方地位.一个问题,它是自2010年谷歌的组中的地位一直无人接听.
还有就是JSR-305注释的参考实现这里所使用的许多项目,包括番石榴.使用maven,你可以通过将它添加到你的pom来使用JSR-305参考实现,
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
man*_*cze 12
如果您担心可空性注释,那么我建议使用 SpotBugs 项目从edu.umd.cs.findbugs.annotations命名空间提供的注释。如今,大多数 linter 或 IDE 都应该支持它。它不像javax.annotationJSR 305 中提议的那么好,但请记住 JSR 305 从未获得批准,并且实际上jarJSR 305 提案中从未附加过任何包含类的文件。
关于此的一些更有趣的文章:
JSR 305 与 JSR 308
JSR 305 和 JSR 308 之间几乎没有任何关系。JSR 308 是关于将注释应用于泛型(java 类型参数)的能力。JSR 308 已合并为 Java SE 8 的一部分。
唯一的联系是,这两个 JSR 都与两个不同的项目(FindBugs 和Checker Framework )相关,这两个项目都涉及空安全性和可空性注释主题。
从内容来看,JSR 没有任何关系。
| 归档时间: |
|
| 查看次数: |
33970 次 |
| 最近记录: |