Null value for Optional type
Reports null
assigned to an Optional
variable or returned from a method returning Optional
.
It's recommended that you use Optional.empty()
(or Optional.absent()
for Guava) to denote an empty value.
Example:
Optional<Integer> foo(boolean flag) {
return flag ? Optional.of(42) : null;
}
After the quick-fix is applied:
Optional<Integer> foo(boolean flag) {
return flag ? Optional.of(42) : Optional.empty();
}
- 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.
OptionalAssignedToNull
Configure the inspection:
Use the Report comparison of Optional with null option to also report comparisons like optional == null
. While in rare cases (e.g. lazily initialized optional field) this might be correct, optional variable is usually never null, and probably optional.isPresent()
was intended.
New in 2017.2
This inspection depends on the Java feature 'Stream and Optional API', which is available since Java 8.
Here you can find the description of settings available for the Null value for Optional type inspection, and the reference of their default values.
Inspection Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Java, 243.23126 |
Thanks for your feedback!