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());
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论