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

总结

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

相关文章

  • WebSocket无法注入属性的问题及解决方案

    WebSocket无法注入属性的问题及解决方案

    这篇文章主要介绍了WebSocket无法注入属性的问题及解决方法,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • Spring Batch入门教程篇

    Spring Batch入门教程篇

    这篇文章主要给大家介绍了Spring Batch入门的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • 浅析JavaWeb项目架构之Redis分布式日志队列

    浅析JavaWeb项目架构之Redis分布式日志队列

    架构、分布式、日志队列,标题自己都看着唬人,其实就是一个日志收集的功能,只不过中间加了一个Redis做消息队列罢了。下面通过本文给大家分享JavaWeb项目架构之Redis分布式日志队列,感兴趣的朋友一起看看吧
    2018-01-01
  • idea快速拉取新分支实现方式

    idea快速拉取新分支实现方式

    该文本是关于在不同软件中进行分支操作的方法总结,包括快捷键操作和软件内置操作两种方式,并给出了操作的详细步骤,方便读者参考和学习
    2026-05-05
  • Java的锁机制:synchronized和CAS详解

    Java的锁机制:synchronized和CAS详解

    这篇文章主要介绍了Java的锁机制synchronized和CAS详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-09-09
  • SpringBoot中四种AOP实战应用场景及代码实现

    SpringBoot中四种AOP实战应用场景及代码实现

    面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AOP能够帮助我们优雅地解决横切关注点问题,本文将介绍SpringBoot中4种AOP实战应用场景,需要的朋友可以参考下
    2025-05-05
  • 详解java定时任务

    详解java定时任务

    这篇文章主要为大家详细介绍了java定时任务,使用JDK中的Timer定时任务来实现,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • 详解Java数组的四种拷贝方式

    详解Java数组的四种拷贝方式

    Java数组一共有四种拷贝方式: for循环、copyof/copyOfRange、arraycopy和clone。本文将为大家详细介绍一下这四种方式,感兴趣的可以了解一下
    2022-02-02
  • Java实现两人五子棋游戏(七) 屏幕提示信息

    Java实现两人五子棋游戏(七) 屏幕提示信息

    这篇文章主要为大家详细介绍了Java实现两人五子棋游戏,屏幕提示游戏信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 两种实现Java类隔离加载的方法

    两种实现Java类隔离加载的方法

    这篇文章主要介绍了两种实现Java类隔离加载的方法,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-02-02

最新评论