我之前一直用的是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>();这是面向对象中的多态,好处是可以提高代码的扩展性,提高效率,也便于后期代码的更改。是重点知识,必须掌握,在实际开发中应用较多