@ParametersAreNonnullByDefault注释可帮助您定义类或包中的所有方法参数都具有语义@NotNull,除非它们使用注释显式@Nullable注释。

@ParametersAreNonnullByDefault注释可以与包、类或方法一起使用。

要使用注解,请将jsr305库添加到模块依赖项:

  1. 打开Project Structure对话框Ctrl+Alt+Shift+S,然后转到Modules | 依赖项。
  2. 单击添加 应用程序通用添加并选择库 | Java。
  3. 在 IntelliJ IDEA 主目录中,选择 libjsr305.jar。
  4. 可选)在下一个对话框中,您可以修改库名称和级别。
  5. 应用更改并关闭对话框。

将 JAR 添加到项目后,就可以开始使用@ParametersAreNonnullByDefault注解了。例如,考虑以下代码:

public static<T extends Comparable<T>> List<T> sort(List<T> list) {
    if (list != null) {
        List<T> copy = new ArrayList<T>(list);
        sort(copy);
        return copy;
    }
    else {
        return null;
    }
}

如果您使用 注释该sort()方法@ParametersAreNonnullByDefault,IntelliJ IDEA 会立即识别出该if语句是无关的,并报告始终为真的条件。

但是,如果您将方法的参数注释sort()为可为空,您将看不到任何检查消息。

paramnotnull.animated.gif

标签: none