前言
在开发过程中,处理可能为 null
的对象引用是常见的需求。Java 9 提供了多种方法来简化这一过程,其中 Objects.requireNonNullElse
是一个特别有用的工具。它允许我们以简洁的方式提供默认值,当给定的对象为 null
时使用。
Objects.requireNonNullElse
方法简介
Objects.requireNonNullElse(T obj, T defaultOpt)
是一个静态方法,属于 java.util.Objects
类。它接受两个参数:
obj
: 要检查的对象。defaultOpt
: 如果obj
为null
,则返回的默认值。
该方法的行为很简单:如果 obj
不是 null
,则返回 obj
;否则返回 defaultOpt
。这使得我们可以避免显式的 if-else
或三元运算符来处理 null
值,从而使代码更加简洁和易于阅读。
实际应用案例
为了更好地理解 Objects.requireNonNullElse
的用法,让我们来看一个简化的例子。假设我们有一个方法需要根据提供的值 a1
返回结果,但如果 a1
为 null
,则应该返回 a2
作为替代值。
public class Example {
// 简单的方法演示 requireNonNullElse 的用法
public static String getValueOrDefault(String a1, String a2) {
// 如果 a1 为 null,则返回 a2 作为默认值
return Objects.requireNonNullElse(a1, a2);
}
public static void main(String[] args) {
// 示例 1: a1 不为 null
System.out.println(getValueOrDefault("Hello", "Default")); // 输出: Hello
// 示例 2: a1 为 null
System.out.println(getValueOrDefault(null, "Fallback")); // 输出: Fallback
}
}
在这个例子中:
getValueOrDefault
方法接收两个字符串参数a1
和a2
。- 它使用
Objects.requireNonNullElse
来检查a1
是否为null
。 - 如果
a1
不是null
,则直接返回a1
;如果是null
,则返回a2
作为默认值。。