ArrayList声明

rga*_*ber 1 java arraylist

可能重复:
ArrayList声明Java

在Java中,为什么经常使用List声明ArrayList?

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

我无法理解这两者之间的区别.这个比那个好吗?或具有特定用途?

Dan*_* D. 5

ArrayList类实现了List接口.

声明接口类型的对象通常是一种很好的做法,当然也可以使用该接口的实现来实例化它.

这样,您可以在需要时更改实现,但声明的类型保持不变.这样,您可以避免修改太多代码,尤其是在将变量作为参数的方法中.该方法不断获取List作为参数,而不是某个实现.