我最近在办公室的Android项目中使用ArrayList,但我有些困惑List和ArrayList之间有什么区别,应该使用哪个?
此外,我看到一些关于它的实现。
List<SomeObject> myList = new ArrayList<SomeObject>();
ArrayList<SomeObject> myList = new ArrayList<SomeObject>();
这两个实例有什么区别?
我最近在办公室的Android项目中使用ArrayList,但我有些困惑List和ArrayList之间有什么区别,应该使用哪个?
此外,我看到一些关于它的实现。
List<SomeObject> myList = new ArrayList<SomeObject>();
ArrayList<SomeObject> myList = new ArrayList<SomeObject>();
这两个实例有什么区别?
在您的这两个例子中,列表实现没有区别。 但是,在代码中进一步使用变量myList的方式上有所不同。
当您将您的列表定义为:
List myList = new ArrayList();
你只能调用在List接口中定义的方法和引用成员。 如果你将其定义为:
ArrayList myList = new ArrayList();
你将能够调用ArrayList特定的方法和使用从List继承的成员,除此之外还能增加ArrayList特有的成员。
然而,在第一个例子中调用List接口的方法时,实际上是调用了ArrayList中的对应方法(因为List接口本身并没有实现任何方法)。
这就是多态。你可以阅读相关资料了解更多。
List myList = new ArrayList();
有什么用呢? - Nandan A