1

私はshort[]配列を使用しています:

short[] buffer = new short[bufferSize];

type をパラメーターとして受け取るメソッドがある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

ローレンスが提供した答えは正しく、受け入れる必要がありますが、Java で配列をコピーする方法は複数あることに注意してください。各方法の説明については、この記事を参照してください。

  • Arrays クラスのさまざまな copyOf および copyOfRange メソッドを使用する
  • System.arraycopy を使用 - 配列の一部をコピーする場合に便利
  • clone メソッドを呼び出し、キャストを実行します - 最も単純なスタイルですが、浅い複製のみが実行されます
  • for ループを使用する - 複数の行があり、ループ インデックスが必要です
于 2010-12-13T00:31:56.843 に答える