Back to Intellij Community

OptionalToIf

java/java-impl/resources/inspectionDescriptions/OptionalToIf.html

2025.3-rc-2578 B
Original Source

Reports Optional call chains that can be replaced with a sequence of if statements.

Example:

return Optional.ofNullable(name)
    .map(this::extractInitials)
    .map(initials -> initials.toUpperCase(Locale.ENGLISH))
    .orElseGet(this::getDefault);

After the quick-fix is applied:

if (name != null) {
    String initials = extractInitials(name);
    if (initials != null) return initials.toUpperCase(Locale.ENGLISH);
  }
  return getDefault();

This inspection can help to downgrade for backward compatibility with earlier Java versions.

New in 2020.2