awall2954
Messages postés11Date d'inscriptionmercredi 28 avril 2004StatutMembreDernière intervention 9 janvier 2010
-
30 avril 2008 à 01:09
awall2954
Messages postés11Date d'inscriptionmercredi 28 avril 2004StatutMembreDernière intervention 9 janvier 2010
-
30 avril 2008 à 22:54
Bonjour,
J'ai un problème avec Vector; en effet je dois ranger mes données dans un Vector sous forme de tableaux de double voici mon programme de test :
import java.util.Random;
import java.util.Vector;
public class Main {
public static void main(String args[]){
Vector vet = new Vector();
String str ="";
double[] temp = new double[4];
Random rn = new Random();
cs_jojolemariole
Messages postés519Date d'inscriptionmercredi 21 mars 2007StatutMembreDernière intervention19 décembre 201625 30 avril 2008 à 09:27
Le problème c'est que "temp" est un objet. En java il faut distinguer les objets et les types primitifs. A l'inverse des types primitifs, les objets ne sont pas dupliqués (c'est à la fois très pratique et très performant). Du coup si tu écris Object a = b, et que tu modifies b, a sera modifié aussi. Car ils sont liés par référence, un peu comme les pointeurs en C. Si tu veux 10 tableaux indépendants dans ton vecteur, il faut que tu crées effectivement 10 tableaux donc il suffit de mettre le double[] temp = new double[4]; à l'intérieur de ta boucle.
En plus il est préférable d'utiliser la généricité <double[]> arrivée avec Java 1.5