如何将Double[]转换为double[]?

9 浏览
0 Comments

如何将Double[]转换为double[]?

我正在实现一个类似于包含各种对象的表格的接口。该接口指定了以下函数:

double[] getDoubles(int columnIndex);

我困惑的地方在于,在我的实现中,我将表格数据存储在一个二维Object数组(Object[][] data)中。当我需要返回数值时,我想要做以下操作(假设只会在包含double的列上调用getDoubles(),因此不会出现ClassCastException):

double[] getDoubles(int columnIndex) {
    return (double[]) data[columnIndex];
}

但是,Java不允许将Object[]强制转换为double[]。将其转换为Double[]是可以的,因为Double是一个对象而不是原始类型,但是我的接口指定了数据将以double[]的形式返回。

所以我有两个问题:

  1. 有没有办法从Object[][]表格中获取列数据并返回原始数据数组?
  2. 如果我将接口更改为返回Double[],是否会有性能影响?
0