我剛剛遇到註釋,我開始使用它們。我做了其中有一個方法簽名與@NotNull PARAM像爲什麼不@NotNull引發編譯時錯誤?
interface {
public void test(@NotNull CustomObject c);
}
我實現的方法,在類
clazz implements interface
{
@Override
public void test(@NotNull CustomObject c)
{
}
}
我預計new Clazz().test(null)
抱怨,而我編一個接口,但事實並非如此。我使用的是基於Intellij構建的Android工作室。
如果這些註釋不會給我們編譯時間錯誤,那麼它們用於什麼?
。 對於IntelliJ,您可以配置IDE每次在您的代碼中違反'@NotNull'合約時輸出警告(有關更多詳細信息,請參閱Jetbrains [docs](https://www.jetbrains.com/help /idea/2016.1/nullable-and-notnull-annotations.html)。 – codejanovic