All input is evil。 一切的入参都是邪恶的,作为编码人员都无法掌握。如果不针对这些参数做校验,我们的程序就会出现这样或那样的问题。NullPointerException作为一个老生常谈的话题,我这里又把它拎出来了。 本次讨论这个话题源于司内一个案例的NullPointerException的复盘。下面我贴一下相关代码。因为涉及到公司的业务源码
public class MainActivity extends AppCompatActivity {public static final String TAG = "MainActivity";private Intent mIntent;//下面注释掉的代码会报nullPoiterException,因为MainActivity对象被创建时,就会调用new Intent(this,Sec
原因:没有给数组分配内存空间 int a[] = null; a[ ]只是一个引用变量,这个引用变量在栈内存中,实际保存的只是一个地址值,这个地址指向的是堆内存中的真正的数组对象,而数组对象应该由一系列的元素组成。 如果你建立数组对象时没有显式地指定初值,那就应该给数组分配内存空间,比如说 int [] a = new int[7]; 这样系统就会为这个数组实行动态初始化,也就是自动为数组