@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.
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: | |
Can be installed with plugin: | Java, 243.23126 |