list集合定义、初始化和赋值时,list值的变化:(未定义、null和不为空)

首先,一个集合list包含了:定义( List list; )、初始化( list = null; 或者List list = new ArrayList(); )和赋值( list.add(字符串、对象。。); )。

list定义:

List list;

此时list为未定义状态,不可以使用System.out.println();直接输出,不能使用isEmpty()等方法,输出结果如图。

list集合定义、初始化和赋值时,list值的变化:(未定义、null和不为空)

list初始化:

List list = null;

此时的list没有指向地址,但可以进行输出打印,打印结果为null;不可以调用isEmpty()等方法,会报空指针异常错误,输出结果如图。

list集合定义、初始化和赋值时,list值的变化:(未定义、null和不为空)

list集合定义、初始化和赋值时,list值的变化:(未定义、null和不为空)
List list = new ArrayList();

此时list已经包含指向地址,可以进行打印输出和调用isEmpty()方法,输出结果如图。

list集合定义、初始化和赋值时,list值的变化:(未定义、null和不为空)

赋值

list.add(字符串、对象。。);

为list集合赋值,此时list中的长度已经大于一,不在为empty空了。

list集合定义、初始化和赋值时,list值的变化:(未定义、null和不为空)

小结:当list为null的时候,加入调用了size()方法,就相当于null.size();这就是所谓的NullPointException空指针