报告 null 检查条件并建议用 Optional 链替换它们。

示例:


  return str == null ? "" : str.trim();

应用快速修复后:

return Optional.ofNullable(str).map(String::trim).orElse("");

虽然替换并不总是更短,但它可能有助于进一步重构(例如,将方法返回值更改为 Optional)。

请注意,当条件的非 null 分支返回 null 值时,相应的映射步骤将产生一个空的 Optional,可能会改变语义。 如果不能静态证明保留语义,则快速修复操作名称将包含 “(可能更改语义)” 通知,并关闭检查高亮显示。

仅当项目或模块的语言级别为 8 或更高时才报告此检查。

2018.1 的新功能