在 Eclipse 中,可以为单个包默认设置 not null。有没有办法在所有包或包树中设置它?
编辑
我说的@Nonnull
是日食尊重和政策的注释。目前,我们将它们放在每个函数、每个变量和每个参数上。我知道我们可以通过将属性放在 package-info 中来设置它们的包范围 - 但是我们有数百个包,很容易错过一个。我希望能够将eclipse设置为“@Nonnull
默认假设,除非@Nullable
指定”。
在 Eclipse 中,可以为单个包默认设置 not null。有没有办法在所有包或包树中设置它?
编辑
我说的@Nonnull
是日食尊重和政策的注释。目前,我们将它们放在每个函数、每个变量和每个参数上。我知道我们可以通过将属性放在 package-info 中来设置它们的包范围 - 但是我们有数百个包,很容易错过一个。我希望能够将eclipse设置为“@Nonnull
默认假设,除非@Nullable
指定”。
Eclipse can help you detect any packages that are lacking a @NonNullByDefault if you enable the compiler option "Missing '@NonNullByDefault' annotation on package". This option is set to "Ignore" by default, set to "Warning" or "Error" as you like.
试试这个可爱的小项目:
https://code.google.com/p/notnullcheckweaver/
它在使用 @NotNull 注释的每个元素周围插入空检查
但是,它的默认设置是@Nullable,因此您仍然应该注释您的(根)包,以使其强制执行除@Nullable 注释元素之外的所有内容。
缺点:
您确定要添加@Notnull
到项目中的每个函数、每个变量和每个参数(请记住,您有数百个包)?
如果你的函数需要返回 null 或者参数需要为 null 怎么办?
我不认为这是一个好主意。