Java检查非空的三种方法总结
作者:yqs_281876918 发布时间:2023-10-03 19:58:16
标签: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是干嘛的呢,它的意思就是启动断言机制。
来源:https://blog.csdn.net/qq_31618549/article/details/121844695
0
投稿
猜你喜欢
- 这篇文章主要介绍了Java流程控制顺序结构原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- 本文介绍了ImageView 实现Android colorPikcer 选择器的示例代码,分享给大家,具体如下:Android color
- 前言在实际项目开发中,会碰到这样的问题,数据库表结构设计好了,可实体类还没相应地弄出来。实体类的属性命名方法一般是驼峰法,而数据库中的表字段
- 1. AIE (演示地址)AIE是一个开源的ajax图片编辑器,基于ExtJS与PHP ImageMagick开发,易于与博客/相册等其它应
- Spring Cloud Gateway 默认的filter功能和执行顺序有效性Spring Cloud Gateway 2.0.0.REL
- 目录前言I. 项目环境1. 项目依赖2. 配置II. 邮件发送1. 简单文本邮件发送2. html发送3. 添加附件4. Freemaker
- 说到Java的本地存储,肯定使用IO流进行操作。首先,我们需要一个创建文件的函数createNewFile:public static bo
- C#编写winform程序时,用到的,格式强转,存储到数据库,数据库连接那块就不写了希望对大家有帮助,欢迎评论互相分享技术!//日期格式强制
- Handler是什么?Handler 是一个可以实现多线程间切换的类,通过 Handler 可以轻松地将一个任务切换到 Handler 所在
- springboot html调用js无效400html板在templates下面,js文件在static下面,在模板中引用时不需要加sta
- 使用try-with-resource机制关闭连接JAVA的一大特性就是JVM会对内部资源实现自动回收即自动GC,给开发者带来了极大的便利。
- 今天我做的是一个自定义刻度尺控件,由于项目需求需要使用刻度尺那样滑动选择,由于对自定义控件的认识还不够深入,于是花了一周多时间才把这个控件给
- 本文实例讲述了C#实现的简单随机数产生器功能。分享给大家供大家参考,具体如下:运行效果如下:具体代码如下:using System;usin
- Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(
- 一、template下文件不允许直接访问1、查资料得知:springboot项目默认是不允许直接访问template下的文件的,是受保护的。
- 提到java里的注解,和我们平时的注释还是有很大的区别,主要是作为java特性来使用的,跟我们常见的类是同一个使用的层面。关于java注解的
- 写在前面元旦三天在家闲着无事,就看了看Linq的相关内容,也准备系统的学习一下,作为学习Linq的前奏,还是先得说说Lambda与匿名方法的
- summarydetail传统的Spring项目会有很多的配置文件,比如我们要使用Redis,一般除了对应的依赖的jar包我们还需要在app
- 1、多态性多态性是面向对象的最后一个特征,它本身主要分为两个方面: 方法的多态性:重载与覆写1、重载:同一个方法名称,根据参数类型以及个数完
- 作者:精致码农出处:http://cnblogs.com/willick联系:liam.wang@live.com最近工作中遇到一个这样的需