我正在实现一个接口,其功能类似于可以包含对象类型的表。接口规定了以下功能:如何将Double []转换为double []?
double[] getDoubles(int columnIndex);
在那里我难倒的是,在我的实现,我存储在二维Object
阵列(Object[][] data
)表中的数据。当我需要返回值,我想要做以下(假设getDoubles()
将只包含双打一列被调用,所以不会有ClassCastExceptions
):
double[] getDoubles(int columnIndex) {
return (double[]) data[columnIndex];
}
但是 - Java的没有按不允许Object[]
转换为double[]
。将它转换为Double[]
是可以的,因为Double
是一个对象而不是原语,但是我的接口指定数据将作为double[]
返回。
所以我有两个问题:
- 有什么办法,我可以得到列的数据出来
Object[][]
表,并返回原语数组? - 如果我更改界面以返回
Double[]
,是否会有任何性能影响?
为什么你需要将数据作为Object [] []? – notnoop 2009-07-10 14:50:50
该表可以存储任何类型的数据:字符串,双精度,整数,其他类型等。 – Brian 2009-07-10 14:52:08
然后,如何确保columnIndex中的数组仅包含双精度/双精度? – notnoop 2009-07-10 15:00:00