List中new ArrayList和null有什么区别
-
List 这个是定义了Entity的集合变量,但是没有实例化,这个时候是不能使用的,否则会提示错误;
List =null,定义了Entity的集合变量,并且实例化为null,与前面一个不同的是他可以被使用,但仅限于equals、==等判断或者其它非取值等操作;想用的话也是需要实例化或者里面已经有值了。 -
List=new ArrayList() 定义并且实例化为Arraylist,这个时候就可以做所有的List和ArrayList的操作,比如添加值、取值、迭代等等操作。
其它的类型定义也是一样的,都需要先定义和初始化值才能使用。 -
举个形象的例子,我有一个空着的水杯(list),而你没有,那你是null,我的size为0(list为空)。你想装水就需要自己去买个水杯(new ArrayList();),但是我就可以直接装水(list.add(水))。你要是没有杯子直接倒水,水就流出去啦(空指针异常)。
List为空,可以理解为已经创建了List,分配了内存,长度为0,可以填数据。list为null,表示List不存在,未分配内存。 -
判断List是空
-
if(list!=null && !list.isEmpty()){ //对list中的值处理 }else{ //做其他处理 }