Inspectopedia Help

@NotNull/@Nullable problems

Reports problems related to nullability annotations.

Examples:

  • Overriding methods are not annotated:

    abstract class A { @NotNull abstract String m(); } class B extends A { String m() { return "empty string"; } }
  • Annotated primitive types: @NotNull int myFoo;

  • Both @Nullable and @NotNull are present on the same member: @Nullable @NotNull String myFooString;

  • Collection of nullable elements is assigned into a collection of non-null elements:

    void testList(List<@Nullable String> nullableList) { List<@NotNull String> list2 = nullableList; }

Use the Configure Annotations button to specify nullability annotations and the checkboxes to fine-tune where the inspection should provide warnings.

This inspection only reports if the language level of the project or module is 5 or higher, and nullability annotations are available on the classpath.

Inspection options

Here you can find the description of settings available for the @NotNull/@Nullable problems inspection, and the reference of their default values.

Report @NotNull parameters overriding @Nullable and vice versa

Default: Selected

Report non-annotated parameters or methods overriding @NotNull

Default: Selected

Report @NotNull parameters overriding non-annotated

Not selected

Report non-annotated setter parameters or getters of annotated fields

Default: Selected

Report @NotNull parameters with null-literal argument usages

Default: Selected

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.16690

Last modified: 29 April 2024