Errors 入门

用 Optional 管道替代嵌套 null 检查。

✕ Java 8
String city = null;
if (user != null) {
    Address addr = user.getAddress();
    if (addr != null) {
        city = addr.getCity();
    }
}
if (city == null) city = "Unknown";
✓ Java 9+
String city = Optional.ofNullable(user)
    .map(User::address)
    .map(Address::city)
    .orElse("Unknown");
发现此代码有问题? 告诉我们。
🔗

可链式调用

每个 .map() 步骤透明地处理 null。

📖

快乐路径清晰

正常流程线性可读,无嵌套。

🚫

无显式 null 检查

null 处理内置于 Optional 的行为中。

旧方式
嵌套 null 检查
现代方式
Optional 管道
自 JDK
9
难度
入门
Optional 链式调用
可用

自 JDK 8+ 起可用(JDK 9+ 中有所改进)

Optional.map() 透明地处理 null 值进行链式调用,在第一个 empty 时短路。这消除了嵌套的 if-null 检查,使正确路径清晰可见。

分享 𝕏 🦋 in