Question basique sur la classe Vector

Sken

Membre confirmé
8 Juin 2003
24
0
Voilà, j'ai bien compris qu'un Vector stocke des objets. Je voudrais fair un tableau de nombres entiers. j'ai une boucle qui me donne par exemple les 20 premiers entiers, je voudrais mettre ces valeurs dans mon Vector:
public Vector base = new Vector();

public void generer(Object sender) {
for (int i= 0; i<20; i++)

{
base.addElement (i);}
Le complilateur refuse ce que je comprends.
J'essaie de créer un objet String à partir de i : String valeur = i.toString() pour ensuite mettre base.addElement (valeur), il me dit que je ne peux pas déréférencer i.
Alors comment je dois faire ?
Avec un tableau (int
crazy.gif
base = new int[20]) y a pas de problèmes, mais je tiens au Vector parceque je veux pouvoir ensuite retirer certains nombres de mon vector.
 
Plutôt que de convertir tes int en String pour les stocker dans le Vector, tu pourrais aussi convertir tes int en Integer ça serait pas plus simple ?

Quelque chose dans ce genre.. :


Vector v = new Vector();

for (int i = 0; i < 20; i++) {
v.add(new Integer(i));
}
 
Mais oui, tu as raison, je n'y avais pas pensé. Et en plus ça me permet de faire des calculs sur mes valeurs ! Autre avantage, je présume que ça prend moins de place en mémoire, non ?
Merci du tuyau
 
De rien. Pour la place mémoire je n'en sais rien...
Si tu veux faire après des calculs, il te faudra malheureusement les reconvertir en int (avec la méthode intValue()). C'est un des aspects Java les plus ennuyeux et les plus mal foutu je trouve. C'est vraiment dommage qu'ils n'aient pas choisi l'option du "tout objet".. donc que même les int ou les float soit des objets et non des simples variables..
frown.gif