描述
当违反程序员的一个或多个假设时,通常会出现 null 指针异常。如果程序明确将对象设置为null,但稍后却间接引用该对象,则将出现 dereference-after-store 错误。此错误通常是因为程序员在声明变量时将变量初始化为 null。
案例
String str = null;
for (String item : list) {
str = item;
}
return str.length(); // 若list为空数组,则循环结束后str依旧为null。此时程序奔溃。
修复方案
1、在定义时赋予一个非null对象,例如:String str = "";
2、当不能保证对象非null时,可在调用方法前判断是否为null,若为null则赋予默认值或者阻断代码。
网友评论