![](/img/trans.png)
[英]What is the difference between ArrayList al = new ArrayList(); and ArrayList al = new ArrayList(0)?
[英]What is the difference between “new ArrayList<ClassName>()” and “new ArrayList<>()” when constructing an ArrayList?
这是一个具体的例子:
ArrayList<String> x = new ArrayList<String>();
ArrayList<String> y = new ArrayList<>();
两种方法似乎都可以正常工作。 有什么区别?
没有区别,我可以称它为新功能。
我们必须在Java 7之前指定type参数:
ArrayList<String> x = new ArrayList<String>();
从Java 7开始,我们可以使用Diamond:
ArrayList<String> y = new ArrayList<>();
这是不同的,Java的设计师希望使其变得更容易。
构造时:
new ArrayList<>();
您要告诉编译器从左侧Infer
类型。
现在:
new ArrayList<String>();
明确声明您打算使用的类型。
如果我还记得我以前的编程类,那是一个新版本的Java中添加的语法糖功能的示例。 Java实例化y时会推断出您的String类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.