java.lang.NullPointerException 异常
一、异常出现的几种原因
- 显式调用一个当前未赋值对象的方法
String str = null;
if(str.equals(“Test”)){
//这里的代码将不会被触发,因为会抛出java.lang.NullPointerException异常。
}
总结:字符串equals时将字符串常量放前面,避免空指针
- 未初始化问题(包括字符串、接口对象、只声明未实例化的class……)
Map map // 会报错
Map map = new Map(); //不会报错
- 当一个对象的值为空时,没有判断为空的情况
包装类型转换为基本类型时可能出现
Integer i = null; int num = i;
- 优先使用String.valueOf()方法代替toString()
当程序代码需要对象的字符串表示形式时,请避免使用该对象的toString方法。
如果对象的引用等于null,NullPointerException则会抛出,使用静态String.valueOf方法,该方法不会抛出任何异常并打印"null"。
- 返回null时,方法的返回值不要定义成为一般的类型,用数组