将ArrayList分配给List

Jav*_*ner 5 java

以下两行之间是否存在差异?

 ArrayList<String> arrName =  new ArrayList<String>();
 List<String>      arrName =  new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)

谢谢你的答复

Sud*_*hul 4

几乎总是第二个比第一个更受青睐。第二种方法的优点是可以更改 的实现ListLinkedList例如更改为 a),而不会影响其余代码。这对于 an 来说很难做到ArrayList,不仅因为您需要更改ArrayListLinkedList任何地方,而且还因为您可能使用了ArrayList特定的方法。