Sel*_*ena 7 java annotations findbugs
谷歌让我失望.曾经有过这样的注释: ReturnValuesAreNonnullByDefault.
但现在已弃用此选项,并且javadoc未指示要使用的新注释.整个类的@Nonnull不适用于返回值,因为我刚刚测试了它,并且我没有得到返回null的方法的警告.我不想特别注释每一个返回值,那么有一个很好的选择吗?
你可以使用这个答案构建您自己的简单@EverythingIsNonnullByDefault
注释,以在包/类级别应用以涵盖所有情况,或者此答案向您展示如何创建单独的注释来管理字段和方法返回值。我们选择全部使用它们,但倾向于在包级别应用“所有”版本。
如果您真的很着急,请复制粘贴已弃用的注释并删除弃用。
package com.sample;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import javax.annotation.meta.TypeQualifierDefault;
/**
* This annotation can be applied to a package or class to indicate that the
* classes' methods in that element all return nonnull values by default
* unless there is
* <ul>
* <li>an explicit nullness annotation
* <li>a default method annotation applied to a more tightly nested element.
* </ul>
*/
@Documented
@Nonnull
@TypeQualifierDefault(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ReturnValuesAreNonnullByDefault {
// feel free to name it MethodsAreNonnullByDefault; I find that confusing
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1527 次 |
最近记录: |