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


猜你喜欢
- 在开发中,我们经常会使用IO操作,例如创建,删除文件等操作。在项目中这样的需求也较多,我们也会经常对这些操作进行编
- 从上一节的小demo中我们搞清楚了如何跟易宝对接以及易宝的支付流程。这一节我们来做一下支付页面以及在页面中导入银行图标。1. 存储银行图标银
- 在算法面试中,面试官总是喜欢围绕链表、排序、二叉树、二分查找来做文章,而大多数人都可以跟着专业的书籍来做到倒背如流。而面试官并不希望招收的是
- java中不定长参数的使用方法不定长参数方法的语法如下:返回值 方法名(参数类型...参数名称)在参数列表中使用“...”形式定义不定长参数
- 前言如何下载和使用MyBatis Generator 插件,只说代码,不讲感情。如果有问题还请多多指点。开发环境开发工具:IntelliJ
- 一、基于WINFORM下的选择对话框在WINFORM下,我们可以利用系统的对话框(MessageBox)来实现,具体思路是读取Message
- 前言众所周知Spring Boot是非常高效的开发框架,lombok是一套代码模板解决方案,将极大提升开发的效率,这里介绍给大家使用。文中详
- 版本对照各版本的文档说明:https://docs.spring.io/spring-data/elasticsearch/docs/1、在
- 一.创建Spring boot项目,添加如下依赖<dependency> <gro
- Unity3D的API提供了很多的功能,但是很多流程还是会自己去封装一下去。当然现在网上也有很多的框架可以去下载使用,但是肯定不会比自己写的
- 来源:https://www.cnblogs.com/fanweisheng/p/11440
- 由于今天在网上搜了一下c#写的计算器,发现大多都太繁琐了,很多没必要并且不容易理解的东西就专门写了这个博客1.首先新建一个windows窗体
- 前言Java的StringUtil.isEmpty(str)和"".equals(str)都是用来判断字符串是否为空的方
- 概要设计模式是一门艺术,如果真正了解这门艺术,你会发现,世界都将变得更加优美。定义定义一个用于创建对象的接口,让其子类去决定实例化那个类使用
- 这篇文章主要介绍了java通过实例了解值传递和引用传递,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 本文实例讲述了Android编程使用pull方式解析xml格式文件的方法。分享给大家供大家参考,具体如下:上次已经说过使用Android s
- 曾几何时,我们写代码的时候,每次写Bean的时候都会使用快捷键生成get/set方法,有时候我经常会想,既然每一个Bean我们都会给其提供g
- 第一步,导入jar包<!--Redis--> <dependency
- 一、什么是跨域1.1、为什么会出现跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心
- import java.util.Calendar;import java.util.Date;public class Matrix {&