Java中避免空指针查昂见的方法
2020-12-10 10:48
标签:不用 success 字符串比较 方法 cep ring optional jvm参数 返回 当一个变量的值为null时,在Java里表示一个不存在的空对象,没有实际内容,没有给它分配内存,null也是对象成员的默认值。所以,一个对象如果没有进行初始化操作,这时如果调用这个对象的方法或者变量,就会出现空指针异常。例如: 空指针属于运行时异常 例如: 这时status可能为 在对象初始化的时候给它一个默认值或者默认构造实现。 在返回一个集合的时候,默认会是 这样调用者就不用担心空指针异常了。 断言是用来检查程序的安全性的,在使用之前就进行检查条件,如果不符合条件就报异常,符合就继续。Java中自带的断言关键字为: 不过默认是不启动断言检查的,需要带上JVM参数:-anableassertions 才能生效。不过不建议使用,建议使用 Spring 中的,更强大,更方便好用。 Spring中的用法: Optional是JDK 8 的新特性,再也不用 避免空指针的方法还有很多。 Java中避免空指针查昂见的方法 标签:不用 success 字符串比较 方法 cep ring optional jvm参数 返回 原文地址:https://www.cnblogs.com/zxfei/p/10995220.html什么是空指针?
Object obj = null;
String str = obj.toString();
RuntimeException
的子类,它不是捕获型异常,只有在程序运行时才可能报出来,而且会造成程序中断。如何避免空指针?
1、字符串比较,常量放前面
if(status.equals(SUCCESS)){
// do something
}
null
造成空指针异常,应该把常量放在前面。if(SUCCESS.equals(status)){
// do something
}
2、初始化默认值
例如:Object obj = new Object();
String str = "";
3、返回空集合
null
,这是调用者使用这个集合时就可能造成空指针,进而使程序结束。应该返回空集合。例如:、public List
4、断言
assert
,如:assert name == null : "名称不能为空";
Assert.notNull(name, "名称不能为空");
5、Optional
!= null
来判断了,这在一个对象里连续判断的时候非常有用。