【发布时间】:2012-08-22 08:58:29
【问题描述】:
List<double[]> x = new ArrayList<double[]>();
x.add(new double[]={1,2,3,4,54,6});
元素 1,2,3,4,54,6 被添加到 x
x.get(0) ---> returns 1
但是这样做,数组的地址被添加了?为什么
List<double[]> x = new ArrayList<double[]>();
double[] name=new double[5];
name[0]=1
name[1]=3;
name[2]=3;
.
.
.
.
x.add(name);
getting x.get(0) ---> returns @as12cd2 (address of the array)
【问题讨论】:
-
这没什么特别的,数组是列表中唯一的元素。令我惊讶的是,在第一个示例中,显然已经完成了一些拆箱,然后列表包含
double元素,而不是应该包含的double[]。这很奇怪,并且可能导致错误,因为get(...)预计在编译时返回double[],但在运行时返回double。
标签: java