集合对象的声明和初始化

来源:互联网 发布:招聘数据统计分析表 编辑:程序博客网 时间:2024/05/29 17:03

需要实现的功能是从数据库中查数据封装为一个list集合,然后返回给前台将数据显示在表格中。

后台在定义list集合时无意中发现两种不同的写法会有不同 的结果出现,之前没太注意这两种写法的区别,发现错误之 后我查了一些资料,在这里总结一下:

1、List list = new ArrayList();//返回[]
2、List list;//返回null

获取到的list均为空,在返回给前台时第一种写法会报空指 针异常,而第二种写法直接返回数据列表空白无数据;

List list = null;是声明了一个类型是List的变量,但是 他指向(或者说是持有)null(空指针)的引用,这时候他 什么都做不了;只有当你给他实例化的时候,如下 list = new ArrayList() 或者 list = new LinkedList() 以后,才能确定他究竟是什么类型。

List list;是在栈区开辟一个空间放list引用,并没有创建 对象所以不知道该list是ArrayList还是LinkedList。当你 list= new ArrayList(); 就创建了ArrayList对象。并且把 开始创建的list引用指向这个对象。ArrayList和inkedList 都是List的实现类。

1 0
原创粉丝点击