Inspectopedia Help

Use of Optional.ofNullable with null or not-null argument

Reports uses of Optional.ofNullable() where always null or always not-null argument is passed. There's no point in using Optional.ofNullable() in this case: either Optional.empty() or Optional.of() should be used to explicitly state the intent of creating an always-empty or always non-empty optional respectively. It's also possible that there's a mistake in Optional.ofNullable() argument, so it should be examined.


Optional<String> empty = Optional.ofNullable(null); // should be Optional.empty(); Optional<String> present = Optional.ofNullable("value"); // should be Optional.of("value");

This inspection depends on the Java feature 'Stream and Optional API' which is available since Java 8.

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.16690

Last modified: 29 April 2024