在Java中,我想将short []转换为double []

时间:2010-12-13 00:07:38

标签: java double short

我正在使用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];
}

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

感谢。

2 个答案:

答案 0 :(得分:4)

尽管你可以使用buffer.length代替buffersize,但这样做会很好。

答案 1 :(得分:1)

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

  • 使用Arrays类的各种copyOf和copyOfRange方法
  • 使用System.arraycopy - 在复制数组的部分时非常有用
  • 调用其克隆方法,并进行强制转换 - 最简单的样式,但只执行浅层克隆
  • 使用for循环 - 多行,并且需要循环索引