我發現不方便checkNotNull()
番石榴的前提條件是沒有標註@Nonull
註解。考慮下面的例子:爲什麼checkNotNull()不用@Nonnull註釋
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
總是錯誤的。有沒有什麼特別的原因,爲什麼這個先決條件沒有標記@Nonull
(即使它的參數是用@Nullable
定義的)。
我可能會錯過爲GitHub wiki頁面發送PR的選項,因爲我會寫一些擴展自己的東西。但是因爲我不能,有人可以添加至少一個句子,如「番石榴只在內部使用@Nullable,所以所有返回類型都是假的,但沒有用@Nonull標記」(或類似):https://github.com/google/ guice/wiki/UseNullable – eckes