List和ArrayList有什么区别?

时间:2013-02-15 20:52:27

标签: java android list arraylist

我最近在办公室的android项目中一直使用ArrayList,我在List和ArrayList之间有点混淆,两者有什么不同,我应该用什么?

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

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

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

这两个实例的区别是什么?

1 个答案:

答案 0 :(得分:159)

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

将列表定义为:

List myList = new ArrayList();

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

ArrayList myList = new ArrayList();

除了那些定义从List继承的成员外,您还可以调用特定于ArrayList的方法并使用特定于ArrayList的成员。

然而,当您在第一个示例中调用List接口的方法(在ArrayList中实现)时,将调用ArrayList中的方法(因为List接口不实现任何方法)。

这就是所谓的多态性。你可以阅读它。