我來自.Net背景,不理解以下片段。有人可以向我解釋<>和下面的代碼,因爲我似乎沒有得到它。對於愚蠢的問題抱歉,但我一直試圖瞭解整個晚上。參數化類型
List<double[]> x = new ArrayList<double[]>();
for (int i = 0; i < 3; i++) {
x.add(new double[] { 1, 2, 3, 4, 5, 6 });
}
我來自.Net背景,不理解以下片段。有人可以向我解釋<>和下面的代碼,因爲我似乎沒有得到它。對於愚蠢的問題抱歉,但我一直試圖瞭解整個晚上。參數化類型
List<double[]> x = new ArrayList<double[]>();
for (int i = 0; i < 3; i++) {
x.add(new double[] { 1, 2, 3, 4, 5, 6 });
}
它們相當於C#泛型。它創建一個雙數組列表,然後向其中添加[1,2,3,4,5,6]三次。
如果您創建了List<T>
,則可以將T的實例添加到列表中。在這種情況下,T
是double[]
。
在Java編程語言中,數組是對象,可以分配給java.lang.Object類型的變量。您的代碼也可以被寫成這樣
對象號碼=新雙[] {1,2, 3,4,5,6};
您的代碼
List<double[]> x = new ArrayList<double[]>();
for (int i = 0; i < 3; i++) {
x.add(numbers);
}
另一個變化:在這裏,我創建了 「X」 爲可容納對象類型的列表。因爲,數組是在Java對象的子類,我可以存儲在這個列表中的數組「X」
List<Object> x=new ArrayList<Object>();
for (int i = 0; i < 3; i++) {
x.add(numbers);
}
對於一個列表,在<類型參數>的指示對象的類型應存放在該清單。 List<double []>
創建一個存儲雙打數組的列表。
List<double []> myList = new ArrayList<Double>();
myList.add(new double [] {1,2,3});
myList.add(new double [] {4,5,6});
會向myList添加兩個雙數組。所以:myList.get(0)將返回:{1,2,3} 和myList.get(1)將返回:{4,5,6}。
如果您正在嘗試只創建雙打的列表,而不是一個雙數組列表,你會怎麼做:
List<Double> myList = new ArrayList<Double>();
myList.add(1);
myList.add(2);
myList.add(3);
現在myList.get(0)將返回1和myList.get( 1)將返回2.注意,要創建基本類型的列表,您需要在type參數中指定該基本類型的對象版本。也就是說,你不能這樣做:List<double>
這是因爲所有的類型參數都被編譯器轉換爲Object。
太棒了!謝謝!!!因此,如果集合中的數字來自數據庫,我將如何添加這是一個雙數組?在第一個示例中,您將如何從循環中添加1,2,3? – 2011-01-06 13:35:31