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

作者:yqs_281876918 时间:2023-10-03 19:58:16 

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

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

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参数。

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

先打开如图设置

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

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

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

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

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

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

来源:https://blog.csdn.net/qq_31618549/article/details/121844695

标签:Java,检查,非空
0
投稿

猜你喜欢

  • Android自定义View之圆形进度条式按钮

    2023-09-07 22:51:28
  • 详解J2EE开发的网站部署到阿里云服务器的方法

    2022-06-21 07:50:16
  • android开发基础教程—三种方式实现xml文件解析

    2021-06-21 21:24:25
  • java通过PDF模板填写PDF表单

    2022-05-28 16:37:48
  • Java基础入门总结之序列化和反序列化

    2023-02-19 03:29:10
  • Java并发编程之volatile与JMM多线程内存模型

    2023-10-19 12:13:48
  • C#中datagridview使用tooltip控件显示单元格内容的方法

    2022-04-15 12:23:23
  • Android自定义processor实现bindView功能的实例

    2023-09-07 17:16:37
  • Android自定义View圆形图片控件代码详解

    2022-05-15 12:00:53
  • ImageView 实现Android colorPikcer 选择器的示例代码

    2023-03-12 03:21:37
  • IntelliJ IDEA中properties文件显示乱码问题的解决办法

    2021-09-08 04:59:03
  • 如何将C语言代码转换为应用程序(也就是编译)

    2022-09-02 06:30:49
  • C#十五子游戏编写代码

    2023-06-13 07:33:22
  • 盘点MQ中的异常测试

    2022-05-06 07:39:24
  • Java包装类的概述与应用

    2022-03-14 07:50:43
  • Java并发编程之线程创建介绍

    2021-11-14 13:55:40
  • spring使用OXM进行对象XML映射解析

    2022-11-11 16:05:19
  • 基于MapReduce实现决策树算法

    2023-10-20 16:05:40
  • C# WPF实现的语音播放自定义控件

    2022-11-23 19:45:49
  • SpringBoot+Netty+WebSocket实现消息发送的示例代码

    2023-08-16 00:02:52
  • asp之家 软件编程 m.aspxhome.com