List和ArrayList有什么区别?

我最近在我的android项目中使用了ArrayList,我在List和ArrayList之间有些困惑,两者有什么不同,我该用什么?

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

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

这两个实例有什么不同?

在这两个示例中,列表实现之间没有区别。 然而,你可以在你的代码中进一步使用variablesmyList。

当您将列表定义为:

 List myList = new ArrayList(); 

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

 ArrayList myList = new ArrayList(); 

你将能够调用ArrayList特定的方法,除了定义从Listinheritance的那些成员之外,还可以使用ArrayList特定的成员。

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

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