一尘不染

Java中的类型列表与类型ArrayList

java

(1) List<?> myList = new ArrayList<?>();

(2) ArrayList<?> myList = new ArrayList<?>();

我了解使用(1),可以交换List接口的实现。似乎(1)通常在应用程序中使用,而不需要它(我自己总是使用它)。

我想知道是否有人使用(2)?

另外,这种情况实际需要多久(并且我可以举个例子),实际需要使用(1)而不是(2)(即,其中(2)不足以..除了对接口和最佳实践进行编码等之外)


阅读 642

收藏
2020-02-26

共1个答案

一尘不染

几乎总是List首选ArrayList而不是首选,因为例如,List可以将其转换为一个LinkedList而不会影响其余代码库。

如果使用ArrayList代替List,则很难将ArrayList实现更改为LinkedList一个,因为ArrayList在代码库中使用了需要重新构造的特定方法。

你可以在此处阅读有关List实现的信息。

你可以从开始ArrayList,但是很快发现另一种实现是更合适的选择。

2020-02-26