(1) List<?> myList = new ArrayList<?>();
(2) ArrayList<?> myList = new ArrayList<?>();
我知道使用 (1),可以交换 List接口的实现。 似乎(1)通常在应用程序中使用,无论需要(我自己总是使用它)。
我想知道是否有人使用(2)?
此外,这种情况实际上需要使用 (1) 而不是 (2) 的频率(即,如果 (2) 不够……除了对接口和 最佳实践 进行编码 等) __
几乎总是List首选,ArrayList因为例如,List可以翻译成 aLinkedList而不会影响代码库的其余部分。
List
ArrayList
LinkedList
如果使用一种ArrayList代替List,则很难将ArrayList实现更改为LinkedList一种,因为ArrayList在代码库中使用了特定的方法,这些方法也需要重组。
您可能从 开始ArrayList,但很快发现另一种实现是更合适的选择。