java之Objects.nonNull用法代码解读

 更新时间:2025年03月31日 14:31:40   作者:学亮编程手记  
这篇文章主要介绍了java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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());

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 如何把spring boot应用发布到Harbor

    如何把spring boot应用发布到Harbor

    这篇文章主要介绍了如何把spring boot应用发布到Harbor,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 一文带你掌握java8中的reduce操作

    一文带你掌握java8中的reduce操作

    reduce 操作是一种通用的归约操作,它可以实现从 Stream 中生成一个值,其生成的值不是随意的,而是根据指定的计算模型,下面我们就来深入了解下java8中的reduce操作吧
    2023-12-12
  • 解决HttpServletRequest 流数据不可重复读的操作

    解决HttpServletRequest 流数据不可重复读的操作

    这篇文章主要介绍了解决HttpServletRequest 流数据不可重复读的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • java后端进行跨域的几种方式小结

    java后端进行跨域的几种方式小结

    本文主要介绍了java后端进行跨域的几种方式小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 详解Java实现拓扑排序算法

    详解Java实现拓扑排序算法

    拓扑排序,很多人都可能听说但是不了解的一种算法。或许很多人只知道它是图论的一种排序,至于干什么的不清楚。又或许很多人可能还会认为它是一种啥排序。而实质上它是对有向图的顶点排成一个线性序列
    2021-06-06
  • Java中语音url转换成InputStream的示例代码

    Java中语音url转换成InputStream的示例代码

    在Java中,可以使用java.net.URL和java.net.URLConnection类来将语音URL转换为InputStream,本文通过示例代码介绍Java中语音url转换成InputStream的相关知识,感兴趣的朋友一起看看吧
    2024-01-01
  • SpringBoot Controller返回图片的三种方式

    SpringBoot Controller返回图片的三种方式

    在互联网的世界里,图片无处不在,它们是信息传递的重要媒介,也是视觉盛宴的一部分,而在Spring Boot项目中,如何优雅地处理和返回图片数据,则成为了开发者们不得不面对的问题,今天,就让我们一起来探索Spring Boot Controller的神奇转换,需要的朋友可以参考下
    2024-07-07
  • Spring思维导图助你轻松学习Spring

    Spring思维导图助你轻松学习Spring

    这篇文章主要为大家详细介绍了Spring思维导图,帮助你轻松学习Spring的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 十分钟速懂java知识点 System类

    十分钟速懂java知识点 System类

    这篇文章主要介绍了java知识点System类,根据一次面试总结的,可以十分钟速懂System类,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • SSH框架实现表单上传图片实例代码

    SSH框架实现表单上传图片实例代码

    本篇文章主要介绍了SSH框架实现表单上传图片实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09

最新评论