1

我正在使用一个short[]数组:

short[] buffer = new short[bufferSize];

我有一个作为参数类型的方法double[],所以我不能按原样传递它。我需要把它变成一个double[]. 我做过的最好的事情是创建一个新对象并循环并转换,如下所示:

double[] transformed = new double[bufferSize];

for (int j=0;j<bufferSize;j++) {
    transformed[j] = (double)buffer[j];
}

我什至还没有测试过上述方法,但我想知道是否有更好的方法来做到这一点?

谢谢。

4

2 回答 2

4

这已经很好了,尽管您可以只使用buffer.length而不是buffersize.

于 2010-12-13T00:15:49.700 回答
1

Laurence 提供的答案是正确的,应该被接受,但值得注意的是,在 Java 中复制数组的方法不止一种。有关每种方法的说明,请参阅本文。

  • 使用 Arrays 类的各种 copyOf 和 copyOfRange 方法
  • 使用 System.arraycopy - 在复制数组的一部分时很有用
  • 调用它的 clone 方法,并进行强制转换 - 最简单的样式,但只执行浅克隆
  • 使用 for 循环 - 不止一行,并且需要循环索引
于 2010-12-13T00:31:56.843 回答