Inspectopedia
 
2024.3

@NotNull/@Nullable problems

Warning
New
Last modified: 03 December 2024

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.