@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
@Nullableand@NotNullare 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 value:
Selected- Report non-annotated parameters or methods overriding @NotNull
Default value:
Selected- Report @NotNull parameters overriding non-annotated
Default value:
Not selected- Report non-annotated setter parameters or getters of annotated fields
Default value:
Selected- Report @NotNull parameters with null-literal argument usages
Default value:
Selected
Suppressing Inspection
You can suppress this inspection by placing the following comment marker before the code fragment where you no longer want messages from this inspection to appear:
More detailed instructions as well as other ways and options that you have can be found in the product documentation:
Inspection Details | |
|---|---|
By default bundled with: |