【发布时间】:2014-09-05 15:50:56
【问题描述】:
最近我读了一段对我来说很奇怪的代码。众所周知,当我们需要使用集合时,我们需要初始化集合中的泛型类型。此外,我们知道集合可以包含集合作为它们的元素。
代码:
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
【问题讨论】: