Inspectopedia
 
2024.3

Optional call chain can be simplified

Warning
New
Last modified: 03 December 2024

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