2010-12-13 60 views
1

我使用的是short[]數組:在Java中,我要短[]轉換爲雙[]

short[] buffer = new short[bufferSize]; 

我有作爲參數類型double[]的方法,所以無法將它傳遞原樣。我需要把它變成double[]。我做過的最好的事情就是讓通過一個新的對象,循環和轉化,如:

double[] transformed = new double[bufferSize]; 

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

我還沒甚至測試了上面的方法,但我想知道是否有更好的辦法去做這個?

謝謝。

+1

那就是做它的方式。 – MeBigFatGuy 2010-12-13 00:16:11

+0

對於這樣簡單的事情,我甚至不會浪費時間尋找替代品。 – 2010-12-13 00:26:36

+0

我哪個java會給一些運算符如short [] arr = new short [blub]; int [] otherArr = new int [blub]; otherArr [] =(int)的改編;或者其他的東西。 ;-) – InsertNickHere 2010-12-13 07:00:46

回答

4

儘管您可以使用buffer.length而不是buffersize

1

勞倫斯提供的答案是正確的,應該被接受,但值得注意的是,有多種方法來複制Java中的數組。有關每種方法的解釋,請參閱this文章。複製數組

  • 調用它的clone方法的部件時是有用的,做一個演員 - -

    • 使用Arrays類
    • 使用System.arraycopy的各種copyOf和copyOfRange方法最簡單的風格,但只有淺克隆進行
    • 使用一個for循環 - 多行,需要一個循環索引
  • +0

    這些細節在這裏不相關。 OP不需要常規陣列副本。 – 2010-12-13 00:43:41

    +0

    我只是認爲這將是有用的補充數據 - 這就是爲什麼我說勞倫斯的答案應該被接受。 – 2010-12-13 00:44:45

    +0

    謝謝你很高興知道! – chaimp 2010-12-13 01:05:27