2010-12-13 5 views
1

J'utilise un tableau short[]:En Java, je veux convertir un court [] à un double []

short[] buffer = new short[bufferSize]; 

J'ai une méthode qui prend comme un type de paramètre double[], donc je ne peux pas passer comme si. Je dois en faire un double[]. La meilleure chose que je l'ai fait est de faire un nouvel objet et boucle à travers et convertir, comme ceci:

double[] transformed = new double[bufferSize]; 

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

Je ne l'ai pas encore testé même l'approche ci-dessus, mais je me demande s'il y a une meilleure façon pour faire ça?

Merci.

+1

qui est la façon de le faire. – MeBigFatGuy

+0

Pour quelque chose d'aussi simple, je ne perdrais même pas de temps à chercher une alternative. –

+0

I quel java donnerait un certain opérateur comme short [] arr = new short [blub]; int [] otherArr = nouveau int [blub]; autreArr [] = (int) arr; ou quelque chose. ;-) – InsertNickHere

Répondre

4

C'est aussi bon qu'il obtient, même si vous pouvez simplement utiliser buffer.length au lieu de buffersize.

1

La réponse fournie par Laurence est correcte et devrait être acceptée, mais il convient de noter qu'il existe plusieurs façons de copier un tableau en Java. Voir article this pour une explication de chaque méthode.

  • utiliser les différentes copyOf et méthodes copyOfRange de la classe Arrays
  • utilisation System.arraycopy - utile lors de la copie des pièces d'un tableau
  • appeler sa méthode clone, et faire un casting - le style simple, mais seul un clone peu profond est réalisé
  • utiliser une boucle - plus d'une ligne, et a besoin d'un indice de boucle
+0

ces détails ne sont pas pertinents ici. L'OP n'a pas besoin d'une copie de tableau régulière. –

+0

Je pensais juste que ce serait des données supplémentaires utiles - c'est pourquoi j'ai dit que la réponse de Laurence devrait être acceptée. –

+0

Merci c'est bon à savoir! – chaimp

Questions connexes