从列表开始到以新数组列表结尾的优点和缺点

时间:2016-08-27 15:03:31

标签: java arrays arraylist

为什么有些人会像这样创建数组列表。

List<T> array = new ArrayList<T>

和其他人一样创建这样的数组列表。

ArrayList<T> array = new ArrayList<T>

有区别吗?是否有利于一方的优点或缺点?在github中合并一个分支然后拉动之后,我发现这个问题我注意到在一个Utils类中,一个worker使用了第二个方法,而其他人似乎使用了第一个方法。

1 个答案:

答案 0 :(得分:0)

列表是一个界面,数组列表是实现列表的类...
所以基本上是一种与静态/动态结合相关的设计方式。

some differences between them

  1. 静态绑定在编译时发生 ,而在运行时发生动态绑定。

  2. private,final和static方法和变量使用静态绑定并由编译器绑定,而虚拟方法在运行时根据运行时对象绑定。

  3. 静态绑定使用Type(Java中的Class)信息进行绑定,而Dynamic绑定使用Object来解析绑定。

  4. 重载方法使用静态绑定绑定,而重写方法在运行时使用动态绑定绑定。