在Android应用程序中,空指针解引用(Null Pointer Dereference,简称NPDR)通常是由于缺少空指针检查或错误的代码逻辑导致的。以下是一些可能导致空指针解引用的常见代码示例:
Object obj = null;
obj.toString();
Object obj1 = null;
Object obj2 = new Object();
if(obj1.equals(obj2)) {
// do something
}
List list = new ArrayList<>();
list.add("item1");
String item2 = list.get(1); // throws IndexOutOfBoundsException
要避免空指针解引用,可以采取以下措施:
Object obj = null;
if(obj != null) {
obj.toString();
}
Object obj1 = null;
Object obj2 = new Object();
if(obj2.equals(obj1)) {
// do something
}
List list = new ArrayList<>();
list.add("item1");
if(list.size() >= 2) {
String item2 = list.get(1);
}