最近我看了一段看起来很奇怪的代码。正如我们所知道的,当我们需要使用它们时,我们需要在集合中初始化泛型类型。另外,我们知道集合可以包含集合作为其元素。ArrayList Generic without Type
代码:
public class Solution {
public static void main(String args[]) {
ArrayList res = returnlist();
System.out.print(res.get(0));
}
public static ArrayList<ArrayList<Integer>> returnlist() {
ArrayList result = new ArrayList();
ArrayList<Integer> content = new ArrayList<Integer>();
content.add(1);
result.add(content);
return result;
}}
我的问题是
- 我们为什么可以使用
ArrayList result = new ArrayList();
创建一个对象,因为我们还没有给集合的实际类型的元素。 - 我们为什么可以使用
result.add(content);
到集合添加到集合与集合“结果”只是一个普通的集合。我们没有把它定义为一个ArrayList
ArrayList
的
+1我认为这是最有意义的答案 – ne1410s 2014-09-05 16:03:27
+1认可。@ ne1410s – Kai 2014-09-05 16:05:32
2 +1但只有1分...已经StackOverflow失去了计数能力? :P – 2014-09-05 16:07:29