【发布时间】:2011-12-05 07:55:15
【问题描述】:
我发现 guava 中的 checkNotNull() 前置条件没有用 @Nonull 注释标记很不方便。考虑以下示例:
State(Set<Model> models, Set<Variation> variations) {
this.models = checkNotNull(models);
this.variations = checkNotNull(variations);
if (this.variations == null) {
throw new IllegalArgumentException();
}
this.engine = createEngine();
}
所以 IDE 无法发现 variations == null 始终为 false。是否有任何特殊原因导致此前提条件未标有@Nonull(即使它的参数是使用@Nullable 定义的)。
【问题讨论】:
-
我可能会错过为 GitHub wiki 页面发送 PR 的选项,因为我自己会为此编写一些东西。但是由于我不能,有人可以添加至少一个类似“番石榴只在内部使用@Nullable,所以所有返回类型都假定但没有用@Nonull标记”(或类似):github.com/google/guice/wiki/UseNullable