¨解读:
空指针异常是编码过程中最常见的异常,在使用一个对象的时候,如果对象可能为空,需要先判断对象是否为空,再使用这个对象。在进行常量和变量的相等判断时,建议将常量定义为Java对象封装类型(如将int类型的常量定义为Integer类型),这样在比较时可以将常量放在左边,调用equals方法进行比较,可以省去不必要的判空。
案例:
错误写法
Result result = getResult(resultCode);
// result可能为null,造成空指针异常
if (result.isValid())
{
print(result);
}
正确写法
// 即使resultCode为null,仍然可以正确执行,减少额外的判空语句
if (RESULT_CODE_OK.equals(resultCode))
{
return RESULT_OK;
}
return null;