Java检查非空的三种方法总结

 更新时间:2022年11月15日 10:57:18   作者:yqs_281876918  
这篇文章主要介绍了Java检查非空的三种方法总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

如果对空的对象进行操作,就会造成意外错误。所以我们在使用对象前,一般会进行非空判断

接下来介绍我知道的三种判断非空方法:

1、if判断

这个最直接,很多人应该都是这么用的

public class Main
{
    public static void main(String[] args) {
        Object obj=null;
        if(obj!=null)
        {
            System.out.println("执行接下来的代码");
        }
    }
}

不必多言

2、Objects.requireNonNull(obj)

public class Main
{
    public static void main(String[] args) {
        Object obj=null;
        Objects.requireNonNull(obj);
        System.out.println("执行接下来代码");
    }
}

我们将需要判断非空的对象传入Objects.requireNonNull()方法,如果此时对象为空,则会抛出一个NullPointerException异常,后面的代码就不会执行下去了,避免了非法操作。

3、断言 assert

public class Main
{
    public static void main(String[] args) {
        Object obj=null;
        assert obj!=null;
        System.out.println("执行接下来代码");
    }
}

断言语句后面跟着一个表达式,如果表达式为true则继续往下执行,否则抛出一个AssertionError异常。

但是有的小伙伴执行这段代码可能不会报错,这是因为我们所用的开发环境并没有启动断言机制,所以没生效,我们需要添加一个JVM参数,叫做-ea。

接下来我以IDEA为例说一下怎么添加JVM参数。

先打开如图设置

点击Modify options,确保Add VM options这一项打开着

然后我们在这一栏填上-ea,点ok保存就可以了。

这个-ea是干嘛的呢,它的意思就是启动断言机制。

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

相关文章

  • Quarkus中实现Resteasy的文件上传下载操作

    Quarkus中实现Resteasy的文件上传下载操作

    这篇文章主要为大家介绍了Quarkus中实现Resteasy的文件上传下载的操作过程步骤,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • Java网络编程实例——简单模拟在线聊天

    Java网络编程实例——简单模拟在线聊天

    学了java网络,也是该做个小案例来巩固一下了。本次案例将使用UDP和多线程模拟即时聊天,简单练练手。
    2021-05-05
  • java8新特性之日期时间API

    java8新特性之日期时间API

    这篇文章主要介绍了java8新特性之日期时间API,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • Java 获取Zookeeper节点下所有数据详细步骤

    Java 获取Zookeeper节点下所有数据详细步骤

    本文介绍了如何使用Java获取ZooKeeper节点下所有数据,实际应用示例中,我们演示了如何从ZooKeeper节点下获取配置信息并输出到控制台,ZooKeeper是一个开源的分布式协调服务,适用于分布式系统中的数据同步、配置管理、命名服务等功能,感兴趣的朋友一起看看吧
    2024-11-11
  • 详解使用Maven开发Web应用详细步骤

    详解使用Maven开发Web应用详细步骤

    这篇文章主要介绍了详解使用Maven开发Web应用详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Java如何判断一个url是否有效

    Java如何判断一个url是否有效

    URL类提供了一个openConnection()方法,可以打开一个连接并返回一个URLConnection对象,该对象可以用来检查连接是否有效,这篇文章主要介绍了Java判断一个url是否有效,需要的朋友可以参考下
    2023-09-09
  • 一文带你弄清Map集合及其实现类

    一文带你弄清Map集合及其实现类

    在Java中,Map是一种键值对(Key-Value)的集合,它存储了一组唯一的键与相应的值,每个键可以映射到一个值,这篇文章将详细介绍Map集合及其一些常见的实现类,适合小白,感兴趣的同学可以参考阅读
    2023-06-06
  • Spring Boot 整合持久层之JdbcTemplate

    Spring Boot 整合持久层之JdbcTemplate

    持久层是 Java EE 中访问数据库的核心操作,Spring Boot 中对常见的持久层框架都提供了自动化配置,例如 JdbcTemplate 、 JPA 等,Mybatis 的自动化配置则是 Mybatis 官方提供的
    2022-08-08
  • JAVA抽象类及接口使用方法解析

    JAVA抽象类及接口使用方法解析

    这篇文章主要介绍了JAVA抽象类及接口使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • SpringBoot启动嵌入式Tomcat的实现步骤

    SpringBoot启动嵌入式Tomcat的实现步骤

    本文主要介绍了浅谈SpringBoot如何启动嵌入式Tomcat,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08

最新评论