Errors 入门

获取非 null 值并带有清晰的默认值,无需三元运算符。

✕ Java 8
String name = input != null
    ? input
    : "default";
// easy to get the order wrong
✓ Java 9+
String name = Objects
    .requireNonNullElse(
        input, "default"
    );
发现此代码有问题? 告诉我们。
📖

意图清晰

方法名准确描述其功能。

🛡️

null 安全默认

默认值本身不能为 null——这会抛出 NullPointerException。

📏

更简洁

比三元 null 检查更简洁、更易读。

旧方式
三元 null 检查
现代方式
requireNonNullElse()
自 JDK
9
难度
入门
Objects.requireNonNullElse()
可用

自 JDK 9 起广泛可用(2017 年 9 月)

requireNonNullElse 在第一个参数非 null 时返回它,否则返回默认值。与 Objects.requireNonNull() 不同,它不抛出异常——它提供回退值。

分享 𝕏 🦋 in