最近我看了一段看起來很奇怪的代碼。正如我們所知道的,當我們需要使用它們時,我們需要在集合中初始化泛型類型。另外,我們知道集合可以包含集合作爲其元素。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