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; }

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

NullableProblems
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Java | Probable bugs | Nullability problems

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.2, Qodana for JVM 2024.2,

Can be installed with plugin:

Java, 242.22892

Last modified: 11 September 2024