List<实体类>实例化问题
1.最开始实例化图省事,直接写的=null
List<User> list = null;
if(list != null){
foreach( User user : list ){
list .add(user);
}
}
报错,空指针
2.我将list实例化改成
List<User> list = new ArrayList<>();
还是不行,依旧是空指针
3.最后写完整就可以了
List<User> list = new ArrayList<User>();
举个形象的例子,我有一个空着的水杯(list),而你没有,那你是null,我的size为0。你想装水就需要自己去买个水杯(new ArrayList();),但是我就可以直接装水(list.add(水))。你要是没有杯子直接倒水,水就流出去啦(空指针异常)。
同样的,Map也是同样的道理。
Map<String,String> map=null;
这样map虽然初始化了,但是成员变量默认初始化为null,并没有分配内存,此时对map进行put操作,势必会报空指针异常。
改成Map<String,String> map=new HashMap<String,String>();就没问题了