上述问题的原因:
空指针的抛出是对为Null对象的属性方法进行访问时抛出,
null本身不是一个对象且不是对象的属性方法;
而list.isEmpty()就是list对象的属性方法,且这时list为null,正好符合空指针异常抛出条件。
list本身创建在内存空间中已经申请开辟出空间,这个空间可以没有任何方法属性,就是属于null状态,但是此空间已经存在,属于list;
而list.isEmpty(),在上述描述中创建list,内存空间开辟list空间,此时list空间什么都没有,但是你要list空间中的isEmpty方法,那么isEmpty必然不存在,必然抛出空指针;
解决上述的问题最简单的方法:不跟后面list.isEmpty();