JAVA中List泛型和ArrayList泛型的关系和区别?

2024-12-31 12:57:11
推荐回答(2个)
回答1:

ArrayList实现了(而不是继承了)List接口。

List list = new ArrayList();这样的用法很多,表示下面我只需要list是一个List接口的对象就可以了,不在乎它的实现是什么,但是你要取得一个实例就得具体写new ArrayList()。

这样写的好处是,下面你只会用到List里的方法,不会不小心用到ArrayList里特有的方法,否则编译就会报错。有朝一日你对ArrayList这个具体实现不满意了,想换一个实现,比如LinkedList或干脆自己写个实现,你只要换= new ...那行就可以了。

回答2:

List是一个接口
ArrayList是LIst接口下的一个实现类
List
list
=
new
ArrayList();
子类的对象动态的指向父类
这样的好处是
ArrayLIst可以随便改变实现类
而list对象不用变
比如
List
list=new
LinkedList();