新ArrayList ()与新ArrayList ()之间的区别

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

List val = new ArrayList(); 

 List val = new ArrayList(); 

  1. 哪一个更好?

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

  2. 有什么不同?

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

[编辑]:

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