使用集合arrayList的时候为什么用它的父类Collection

来源:互联网 发布:圣诞节 知乎 编辑:程序博客网 时间:2024/05/16 18:43

Collection<String> arrayList = new ArrayList<>();

List<Student> list = new ArrayList<>();

我们有时候会遇到上面的代码,不理解为什么这么写,下面我来分享一下自己的想法:

首先,当我们在写程序的时候不知道应该用哪一个集合更好的时候就可以这么写,直接使用父类,但是有个问题是父类不能自实现,所以只能new一个子类的对象,new出来的对象只能使用Collection的方法,不能使用arrayList的,这样的好处是当你想把你的集合改为linkedList的时候没有必要去修改方法,因为你没有使用arrayList的特有方法,但是这样写代码有一个地方要注意,当你想遍历这个对象的时候你得这么写:

String[] array2 = arrayList .toArray(new String[] {});// new
// String[]{}仅仅只是为了确定方法泛型
for (String s : array2) {
System.out.println(s);
}