Inspectopedia
 
2025.2

Optional call chain can be simplified

Warning
Last modified: Last modified: 18 September 2025

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