引出问题
最近自己的团队,开发过程中遇到过N多的空指针问题。
虽然问题都比较low,也就是常说的一些低智商问题。
但是,生产环境出现空指针,也是很要命的事情。
什么是空指针
空指针发生最常见的就是,“使用一个根本不存在的对象中的方法”。
那么问题来了,一个对象不存在,为什么可以调用它的方法呢?
其实,在编译期,只要自己定义了一个对象,都可以调用该对象的方法。但是在运行期间,一个对象是否被定义,一个对象是否为null,在编译期是不知道的,所以这是一个运行期的异常。
怎么避免
只要记住一句话,如果要调用一个对象的方法的时候,首先确定这个对象在运行期间不会为null。
常见的就是String的equals方法,String字符串也是一个对象,使用字符串之前一定要确保这个字符串不会为null。
日常工作中要时刻做好空指针的判断,其实,只要用到“.”的时候,就要考虑是否会出现空指针的问题了。
例如:
扫描二维码关注公众号,回复:
12903408 查看本文章
![](/qrcode.jpg)
public static void testMethod(String b){
String a = "a";
a.equals(b);//这里就不会出现空指针
b.equals(a);//b就要谨慎的考虑空指针问题了
}