请帮助我理解下面写的两行之间有什么区别,我知道两者都有效,但我想知道哪一行更好?
List<String> val = new ArrayList<String>();
和
List<String> val = new ArrayList<>();
答案 0 :(得分:1)
哪一个更好?
就个人而言,我喜欢使用第一个,因为我认为这对我来说更清楚,但这是你的个人偏好,而其他人则认为这是多余的。
有什么区别?
两行之间没有区别,它们在Java 7中意味着相同的东西(如果你的目标是Java 6使用第一行)。
[编辑]:
此外,正如Elliott Frisch指出的(由于有用的澄清)由于类型擦除,没有办法区分这两个代码片段,因为它从两者中删除了泛型。当最初引入泛型类型时,这适用于JDK 5。