如何正确使用FindBugs的@CheckForNull,@ Nonull和@Nullable注释
我想正式注释我的函数签名以澄清他们的契约 – 特别是如果允许或禁止null params和返回值 – 以FindBugs的静态代码分析工具(可能还有其他)可以使用它的方式.
有两个包(annotations.jar和jsr305.jar),每个包都有四个注释,以及不添加注释的选项. 解决方法
经过一些尝试后,这些是我的发现:
方法参数: >参数不能为null:不要放任何注释.在这种情况下,如果将null传递给方法,则会出现错误标记. (我在预设@Nonnull注释时曾经预料到这种行为,但是当我把它放进去时,根本没有出现错误标记.) 方法返回值: >方法永远不会返回null:放置@Nonnull.如果您尝试返回null,则会导致错误标记;从方法内部. 要使用哪个JAR文件: >两个jar文件都会导致FindBugs的相同行为,唯一的区别是annotations.jar中的注释在Eclipse中显示为已弃用.所以使用jsr305.jar. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |