如果我说:
,是否有分歧?List<String> names = new ArrayList<String>();
和
ArrayList<String> names = new ArrayList<>();
答案 0 :(得分:0)
有区别。第一行比第二行更通用。
例如,如果您有一个以List<String>
作为输入参数的方法,则只能传递List<String>
而不是ArrayList<String>
。
如果您不需要使用ArrayList特定方法,则应使用第一行!
答案 1 :(得分:0)
是的,存在差异。
(首选)第一种情况允许您对集合进行操作,无论列表概念的具体实现如何。然后,您可以进一步使用其他具体类型,而以下代码保持有效。
在第二种情况下,您可能想要使用具体类型的某些特定方法,然后更改实例可能会影响更多代码,并使其更难以发展。