IntelliJ IDEA 2021.1 Help

Infer nullity

The nullability analysis in IntelliJ IDEA can scan your code and add @Nullable and @NotNull annotations to your code. The analysis helps you detect contract violations in your code and suggests null checks where possible.

Run the nullability analysis

  1. From the main menu, select Analyze | Infer Nullity.

    If you haven't added the library with annotations to the classpath, IntelliJ IDEA will prompt you to download it from Maven.

  2. In the Specify Infer Nullity Scope dialog, select the scope of the analysis. If you want to include test sources and annotate local variables, select the corresponding checkboxes.

  3. Click OK.

    IntelliJ IDEA adds import statements for annotations if required, and annotates parameters and variables.

Inferred annotations

IntelliJ IDEA scans bytecode from SDKs and libraries and infers the @Nullable and @NotNull annotations automatically. You can use these annotations later to analyze your source code to spot places where you overlooked null.

In the editor, inferred annotations are marked with the Icons gutter ext annotation gutter icon.

Inferred

Show inferred annotations inline

You can configure the IDE to show inferred annotations right in your code.

  1. Press Ctrl+Alt+S to open IDE settings and select Editor | Inlay Hints | Java | Annotations.

  2. Make sure that the Show hints for option is enabled and select the Inferred annotations checkbox.

  3. Apply the changes and close the dialog.

    Inferred annotation shown inline with the code
Last modified: 21 June 2021