为什么list最好=new arraylist

时间:2022-10-31 22:03:04

List list = new ArrayList()

1、这是一个好的编程习惯,代码有更大的灵活性

因为List只是接口,实现List接口的不只是ArrayList,还有其他容器类,例如Vector。如果你用ArrayList   list  =   new  ArrayList(),那就失去了通用性,使用List,你就可以不必关注用的是ArrayList,还是Vector。例如在下面的代码中
List   getList(){
          List   list   =   new   ArrayList();
          return   list;
}
客户程序不必关心你用的是ArrayList还是Vector,哪天你因为需要改成
List   getList(){
          List   list   =   new   Vector();
          return   list;
}
客户程序并不受影响,你的方法的返回值也不必改变,但如果你用
Vector   getList(){
          Vector   list   =   new   Vector();
          return   list;
}
你看,首先你的方法的返回值必须作相应改变,调用该方法的客户程序也得改,这可能牵涉一系列改动,而用List则省去了这些麻烦。
从这个例子可以推而广之,在new一个新对象时,左边尽量使用接口,以保持代码的最大灵活性。
2、是个隐式的类型转换,把“大”转为“小”