1.在java中,list是个接口,不能直接new,只能用它的子类来指向它。
2.array 数组在内存中是一段连续的地址,且大小在生成时必须指定大小,且里面的类型必须全部保持一致。
3.arraylist 是list接口的实现类,但是在new时可以不指定数组大小,默认大小为10,超出容量后 ,扩大到2倍。如果不使用泛型类声明Arraylist,那么在arraylist可以放不同的类型,如:ArrayList list=new ArrayList();这样是类型不安全的。
ArrayList里面的默认类型是Object,如果是引用类型,就需要强转,如果是值类型,如:int i=2;这种类型,就需要装箱和拆箱,这样会有性能的消耗。
当使用list的时候,推荐使用泛型 如List<String> list=new ArrayList<String>;这样就不存在类型不一致的问题。