java NullPointerException 空指针异常

介绍

NullPointerException由RuntimeException派生出来,是一个运行级别的异常。
意思是说可能会在运行的时候才会被抛出,而且需要看这样的运行级别异常是否会导致你的业务逻辑中断。

产生的原因

①一个变量是null,及只有其名,没有实值内容,也没分配内存,当你要去取他的长度,对他进行操作就会出现NullPointException,所以声明一个变量时最好给它分配好内存空间,给予赋值。

②尽量避免返回null,方法的返回值不要定义成为一般的类型,而是用数组。这样如果想要返回null的时候,就返回一个没有元素的数组。就能避免许多不必要的NullPointerException,使用NullObject返回代替返回null确是一种不错的选择。

通俗地说:空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法。

假如s为null,你还要用s的方法,比如s.equals( String x);那么就会产生空指针异常。
(1)当一个对象不存在时又调用其方法会产生异常 obj.method()//obj对象不存在
(2)当访问或修改一个对象不存在的字段时会产生异常 obj.method()//method方法不存在

在Java中一般报空指针异常的原因有以下几种

  1. 字符串变量未初始化;
  2. 接口类型的对象没有用具体的类初始化,比如:
 List lt;会报错 
 List lt = new ArrayList();则不会报错了 
  1. 当一个对象的值为空时,你没有判断为空的情况。你可以试着把下面的代码前加一行代码:
 if(rb!=null && rb!="") 
 改成: 
 if(rb==null); 
 if(rb!==null&&rb!="") 
 或者
 if(("").equals(rb)) 

空指针的解决办法:

重点关注报错发生的所在行,通过空指针异常产生的两条主要原因诊断具体的错误。同时为了避免空指针的发生,最好在做判断处理时将“null”或者空值放于 设定的值之前。

常见空指针异常的简要分析:

(1)空指针错误
Java中的8种基本数据类型,变量的值可以有其默认值,加入没有对其正常赋值,java虚拟机是不能 正确编译通过的,因此使用基本的Java数据类型一般不会是不会引起空指针异常的。实际开发中,大多数的空指针异常主要与对象的操作相关。

猜你喜欢

转载自blog.csdn.net/weixin_45178729/article/details/129062605