一尘不染

JavaList和ArrayList有什么区别?

java

项目中一直在使用ArrayList,但List和ArrayList之间有点困惑,两者之间有什么区别,我应该使用什么?

我也看到了它的一些实现。

List<SomeObject> myList = new ArrayList<SomeObject>();

ArrayList<SomeObject> myList = new ArrayList<SomeObject>();

这两个实例有什么区别?


阅读 810

收藏
2020-03-15

共1个答案

一尘不染

在两个示例中,列表实现之间没有区别。但是,你可以在代码中进一步使用变量myList的方式有所不同。

当你将列表定义为:

List myList = new ArrayList();

你只能调用在List接口中定义的方法和引用成员。如果将其定义为:

ArrayList myList = new ArrayList();

除了定义是从List继承的成员之外,你还可以调用ArrayList特定的方法并使用ArrayList特定的成员。

但是,在第一个示例中调用ArrayList中实现的List接口的方法时,将调用ArrayList中的方法(因为List接口未实现任何方法)。

2020-03-15