黑马程序员技术交流社区

标题: 关于List与ArrayList [打印本页]

作者: kimi    时间: 2013-6-19 14:23
标题: 关于List与ArrayList
本帖最后由 Super_Class 于 2013-6-19 19:28 编辑

我之前一直用的是List 但这两天看老毕的视频,好多用的是ArrayList
他们有什么区别么,该如何选择呢
List<String> list = new ArrayList<String>();
ArrayList<String> list = new ArrayList<String>();
作者: mvplee    时间: 2013-6-19 15:06
List<String> list = new ArrayList<String>();面向接口编程,子类为父接口实例化
ArrayList<String> list = new ArrayList<String>();正常的实例化。
看一下父接口中的方法和子类中的方法就会发现其实差别不大!

作者: 007诸葛亮    时间: 2013-6-19 15:06
List<String> list = new ArrayList<String>();ArrayList实现了list接口,故以后如果想换容器的话,可以直接换,此种写法是多态,不可以调用ArrayList特有的方法,好处是可以提高程序的扩展性。

ArrayList<String> list = new ArrayList<String>();此行就是最普通的生成实例对象的调用下面的代码里面可能会含有ArrayList的方法
但是如果List<String> list = new LinkedList<String>();list无法访问linklist的方法,所以容器可以根据以后的需求随意更换,为程序提供了很大的灵活性
这是多态的表现,目的: 提高了对象的重用性,比如:
List i = new ArrayList(); |
i = new LinkedList();    |   这样就不会报错。
ArrayList l = new ArrayList();
l = new LinkedList();而下面这就会报错。
所以。假如你的对象需要重用就用多态形式。如果不需要就用下面那种

作者: zhengweicong    时间: 2013-6-19 16:50
使用List<String> list = new ArrayList<String>();是多态,更能体现面向对象呀。
作者: 不破大地    时间: 2013-6-19 18:59
ArrayList<String> list = new ArrayList<String>();这是一般的创建对象的方法,本类引用指向本类对象
List<String> list = new ArrayList<String>();这是面向对象中的多态,好处是可以提高代码的扩展性,提高效率,也便于后期代码的更改。是重点知识,必须掌握,在实际开发中应用较多




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2