新ArrayList <string>()与新ArrayList&lt;&gt;()</string>之间的区别

时间:2013-12-04 06:06:01

标签: java

请帮助我理解下面写的两行之间有什么区别,我知道两者都有效,但我想知道哪一行更好?

List<String> val = new ArrayList<String>();

List<String> val = new ArrayList<>();

1 个答案:

答案 0 :(得分:1)

  1. 哪一个更好?

    就个人而言,我喜欢使用第一个,因为我认为这对我来说更清楚,但这是你的个人偏好,而其他人则认为这是多余的。

  2. 有什么区别?

    两行之间没有区别,它们在Java 7中意味着相同的东西(如果你的目标是Java 6使用第一行)。

  3. [编辑]:

    此外,正如Elliott Frisch指出的(由于有用的澄清)由于类型擦除,没有办法区分这两个代码片段,因为它从两者中删除了泛型。当最初引入泛型类型时,这适用于JDK 5。