常见List<String> 与ArrayList <String >之间

来源:互联网 发布:linux scp 传输文件夹 编辑:程序博客网 时间:2024/06/05 04:29

常见的语句:
List <String > list = new ArrayList();
而不是写成:
ArrayList<String> list = new ArrayList();

????????

List是接口,

ArrayList是JDK里提供的一个实现类。

编译时类型是List,运行时类型是ArrayList,

而List接口的实现类不只有ArrayList一个,

用一个List类型的引用这是“面向接口编程”,

主要是尽量面向接口编程。
常会用到很多不是我们写的类,我们叫第三方类库,

在类库里面很可能会返回一个这样的列表,但是他未必会返给你一个ArrayList,

没准是人家自己写的一个实现类都说不准,那么我们面向接口编程,

不需要了解是什么实现类,我们都把它们当List接收过来就好了,

我们就当成List来用。提高程序的透明性,让底层的实现对上层使用者封装。

List  <String  > list = new ArrayList();
这是把ArrayList()向上转型为List,这时假的lst不能用ArrayList中新增的方法(即不是List接口的方法),如get()


ArrayList <String > list = new ArrayList(); 
如果我们在知道要创建一个ArrayList()的话,用这个方式创建就可以使用ArrayList里面的全部方法

0 0
原创粉丝点击