Inspectopedia Help

Optional call chain can be simplified

Reports Optional call chains that can be simplified. Here are several examples of possible simplifications:

  • optional.map(x -> true).orElse(false)optional.isPresent()

  • optional.map(x -> Optional.of(x.trim())).orElseGet(Optional::empty)optional.map(String::trim)

  • optional.map(x -> (String)x).orElse(null)(String) optional.orElse(null)

  • Optional.ofNullable(optional.orElse(null))optional

  • val = optional.orElse(null); val != null ? val : defaultExproptional.orElse(defaultExpr)

  • val = optional.orElse(null); if(val != null) expr(val)optional.ifPresent(val -> expr(val))

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

New in 2017.2

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