相关疑难解决方法(0)

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

我正在实现一个接口,其功能类似于可以包含对象类型的表.接口指定以下功能:

double[] getDoubles(int columnIndex);
Run Code Online (Sandbox Code Playgroud)

我感到难过的是,在我的实现中,我将表数据存储在2D Object数组(Object[][] data)中.当我需要返回值时,我想要执行以下操作(假设getDoubles()只会在包含双精度的列上调用,因此将不会ClassCastExceptions):

double[] getDoubles(int columnIndex) {
    return (double[]) data[columnIndex];
}
Run Code Online (Sandbox Code Playgroud)

但是 - Java不允许Object[]强制转换为double[].将它转换Double[]为正常是因为它Double是一个对象而不是一个原语,但我的接口指定数据将作为一个返回double[].

所以我有两个问题:

  1. 有什么办法可以从Object[][]表中获取列数据并返回原语数组吗?
  2. 如果我确实将界面更改为返回Double[],是否会对性能产生影响?

java arrays autoboxing

63
推荐指数
4
解决办法
8万
查看次数

标签 统计

arrays ×1

autoboxing ×1

java ×1