程序运行发生空指针异常的原因是
1.对象为空,但是却引用这个对象的方法。
例如:
String s = null; //对象s为空(null)
int length = s.length();
运行出来的结果就是空指针异常。
2.变量没有赋值,没有给他分配内存,却要使用这个变量。
例如:
String str;
str.length();
只声明了变量str,却没有给他赋值,然后就使用他。
所以为了避免这样的问题发生,我们在声明变量的时候,要先给变量赋值,然后再去引用变量。
3.判断一个String的实例s是否等于“a”,不要写成s.equals(“a”),这样写容易抛出NullPointerException,因为你不知道a是不是有值,而写成”a”.equals(s)就可以避免这个问题。不过对变量先进行判空后再进行操作比较好,就可以避免出现空指针异常。
if (str == null) {
System.out.println("字符为空!");
}