&#34; ArrayList <string> = new ArrayList&lt;&gt;()&#34;之间的区别是什么?和#34; ArrayList <string> = new ArrayList <string>()&#34;?

时间:2015-09-11 04:32:08

标签: java

就像标题所说的那样,在Java中,两个语句之间有什么区别吗?

通常我可以看到两个陈述。所以我想可能没什么区别。但是,你能否帮助确认并解释它们为何相同?

root

谢谢!

2 个答案:

答案 0 :(得分:1)

他们是完全相同的。在JDK 7之前需要new ArrayList<String>();。在JDK 7中,他们引入了&#39;菱形运算符&#39;,其中推断了类型。

因此,如果您使用的是JDK 7+,则可以使用new Arraylist<>()

您可以在“班级实例创建表达式”下的Java Language Specification中查看此内容,或搜索“钻石操作员”

答案 1 :(得分:0)

在java 7及更高版本中没有区别。后者被认为更简洁  所谓的钻石操作员<>正在帮助推断这种类型。