主要介绍了
java.lang.NullPointerException
出现的几种原因及解决方案
,
本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
java.lang.NullPointerException
出现的几种原因:
1
、字符串变量未初始化
2
、接口类型的对象没有用具体的类初始化,比如:
Map map //
会报错
Map map = new Map(); //
则不会报错了
3
、当一个对象的值为空时,你没有判断为空的情况。
4
、字符串与文字的比较,文字可以是一个字符串或
Enum
的元素,如下会出现异常
String str = null;
if
(
str.equals
(
“Test”
))
{
//
这里的代码将不会被触发,因为会抛出
java.lang.NullPointerException
异常。
}
5
、优先使用
String.valueOf
()
方法代替
toString
()
当程序代码需要对象的字符串表示形式时,请避免使用该对象的
toString
方法。如果你的对象的引用等于
null
,
NullPointerException
则会抛出,使用静态
String.valueOf
方法,该方法不会抛出任
何异常并打印
"null"
6
、
class
被声明了类型, 默认
class = null;
这样在调用
class
中方法的时候系统只能给你个空指针异常, 给其实例化就好了:
class = new Class();
7
、返回
null
,方法的返回值不要定义成为一般的类型,而是用数组。这样如果想要返回
null
的时候就能避免许多不必要的
NullPointerException
下图为异常分布图: