我来自.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