java之objects.nonnull用法代码
objects.nonnull 是 java 标准库中的一个静态方法,位于 java.util.objects 类中。
这个方法用于检查给定的对象引用是否为非空(即不为 null)。
- 其基本用法如下:
public static boolean nonnull(object obj) {
return obj != null;
}- 使用示例:
import java.util.objects;
public class example {
public void somemethod(string input) {
if (objects.nonnull(input)) {
// 当输入不为 null 时执行的操作
system.out.println("input is not null, its value: " + input);
} else {
throw new illegalargumentexception("input cannot be null");
}
}
}
// 使用:
example example = new example();
string somestring = "hello";
example.somemethod(somestring); // 如果 somestring 不是 null,则会打印信息
// 或者在流操作中作为谓词使用
list<string> list = ...; // 假设是一个字符串列表
list.stream()
.filter(objects::nonnull)
.foreach(system.out::println); // 这将只打印列表中非 null 的元素注意:
objects.nonnull()方法不会抛出异常,它只是简单地返回一个布尔值表示对象是否非空。- 若你需要在对象为 null 时抛出异常,应使用
objects.requirenonnull()方法,该方法会在传入对象为 null 时抛出nullpointerexception。
objects.nonnull() 与 objects.isnull()
- 对比:
| 传统写法 | objects 方法 | 适用场景 |
|---|---|---|
| if (user != null) | if (objects.nonnull(user)) | 正向操作 (对象存在时才执行逻辑) |
| if (user == null) | if (objects.isnull(user)) | 反向操作 (对象为空时提供备用逻辑) |
- 在stream流中使用例子:
list<string> names = userlist.stream()
.filter(objects::nonnull) // 过滤 null 用户对象
.map(user::getname)
.collect(collectors.tolist());总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论