这是一个具体的例子:
ArrayList<String> x = new ArrayList<String>();
ArrayList<String> y = new ArrayList<>();
两种方式似乎都很好。有什么区别?
答案 0 :(得分:2)
没有区别,我可以称之为新功能。
我们必须在Java 7之前指定类型参数:
ArrayList<String> x = new ArrayList<String>();
从Java 7我们可以使用Diamond:
ArrayList<String> y = new ArrayList<>();
这就是差异,Java的设计师希望让它变得更容易。
答案 1 :(得分:2)
构建时:
new ArrayList<>();
您告诉编译器{@ 1}}左侧的类型。
现在:
Infer
明确声明您打算使用的类型。
答案 2 :(得分:1)
如果我从早期的编程类中记得,这是在较新版本的java中添加的syntactical sugar功能的示例。当您实例化y时,Java会推断您输入String。