空指针异常是JAVA中最常见的异常之一了,这里我们来简单找一下一般空指针异常引起的原因,与常见的解决办法。
日志或控制台中的体现
当有使用日志工具或在控制台有异常监控时,出现空指针异常,会有如下报错:
java.lang.NullPointerException
空指针异常可能造成程序运行的阻断。
根本原因:指向了不存在的资源
空指针异常出现的根本原因 ,是程序运行到某一个位置时,引用、请求了不存在的资源,包括不限于常量、变量、属性、原型、方法等。
常见引起空指针异常的情况
1. 根据条件查询到的结果(集)为null;
在进行一些查询时,可能由于条件限制、数据问题等等原因,查到的结果集为空,例如:
select name from table1 where 1=2
此种情况下,对单个结果对象的请求其get、set方法或对其进行资源性操作,将会抛出空指针异常。
2. 创建了对象而没有进行初始化;
有时候我们创建对象,可能会直接创建为null,如:
Map<String,String> map = null;
此时,如果我们对其进行get、set等操作,便会抛出空指针异常。