我目前正在学习Java OCA考试,并且遇到了有关ArrayList声明的问题。Java ArrayList声明
下列哪项是有效的?:
1. ArrayList al1 = new ArrayList(); 2. ArrayList al2 = new ArrayList<>(); 3. ArrayList<> al3 = new ArrayList<>(); 4. ArrayList<Double> al4 = new ArrayList<>(); 5. ArrayList<Double> al5 = new ArrayList<Float>();
根据我的书,回答了1,2和4是有效的。答案3和5是无效的。
但是,没有给出适当的解释。它所做的就是显示的是标准的方法来声明一个ArrayList:
ArrayList<E> al3 = new ArrayList<E>();
,并提到它也是有效申报的ArrayList没有通用部分。
我也无法在线找到有关此主题的体面文章。有人能解释一下(或者指出一篇好文章的方向)上面的不同排列吗?
在此先感谢。
一些仿制药正在被SO格式化。 – Vlad 2013-03-01 10:37:43
感谢我让我感到非常困惑:P – cowls 2013-03-01 10:40:26
关于3,'<>'被称为'钻石运算符'并且被引入'java7'。它是安装通用对象的捷径,所以在使用'new'时不必再次指定类型,因为它已经在变量声明中指定。 – A4L 2013-03-01 10:41:48