首先,一个集合list包含了:定义( List list; )、初始化( list = null; 或者List list = new ArrayList(); )和赋值( list.add(字符串、对象。。); )。
list定义:
List list;
此时list为未定义状态,不可以使用System.out.println();直接输出,不能使用isEmpty()等方法,输出结果如图。
list初始化:
①List list = null;
此时的list没有指向地址,但可以进行输出打印,打印结果为null;不可以调用isEmpty()等方法,会报空指针异常错误,输出结果如图。
②List list = new ArrayList();
此时list已经包含指向地址,可以进行打印输出和调用isEmpty()方法,输出结果如图。
赋值
list.add(字符串、对象。。);
为list集合赋值,此时list中的长度已经大于一,不在为empty空了。
小结:当list为null的时候,假如调用了size()方法,就相当于null.size();这就是所谓的NullPointException空指针