Stocker des objects personnalisés dans un Vector

Stocker des objects personnalisés dans un Vector - Java - Programmation

Marsh Posté le 10-03-2006 à 20:03:16    

Voilà mon problème j'ai un objet que j'ai créé avec une classe propre (défini dans un fichier.java) de type myclasse.
Je veux créer un tableau dynamique de n objets de cette classe je fais donc ce type de code (en gros) :
 

Code :
  1. // compile
  2. protected Vector myVector;
  3. public void creation(int n)
  4. {
  5. myVector= new Vector(n);
  6. }
  7. public void ajouter()
  8. {
  9.              // compile
  10. myVector.add(new myclasse());
  11. }


 
Le problème arrive quand je veux accéder à une méthode de l'objet contenu dans le vecteur (j'espère me faire bien comprendre..) :
 

Code :
  1. // compile pas
  2. for (i=0;i<myTokTok.size();i++)
  3. {
  4.  myVector.elementAt(i).mamethode();
  5. }


 
 
J'ai essayé avec ce code (en castant) sans réussite :

Code :
  1. // compile pas
  2. for (i=0;i<myTokTok.size();i++)
  3. {
  4.  (myclasse)(myVector.elementAt(i)).mamethode();
  5. }


 
J'ai cette erreur à la compil :

Citation :


cannot : find symbol  


 
Mon code ne doit pas être de super qualité (je n'ai pas détaillé toutes les classes), je débute un peu en java.


Message édité par pc2000 le 10-03-2006 à 20:04:25
Reply

Marsh Posté le 10-03-2006 à 20:03:16   

Reply

Marsh Posté le 10-03-2006 à 20:38:37    

essaye ça
 
((myclasse)myVector.elementAt(i)).mamethode();
 
ça ira mieux, ici le casting se porte sur l'objet que tu retire du vecteur, sur lequel on applique la méthode. Avant le casting ne portait pas sur l'objet.

Reply

Marsh Posté le 10-03-2006 à 21:01:01    

J'ai fait une solution intermédiaire :
 

Code :
  1. myclasse var=(myclasse)myVector.elementAt(i);
  2. var.mamethode();


 
Ca, ça marche, j'essaierai ta méthode.

Reply

Marsh Posté le 10-03-2006 à 21:03:58    

Ca revient au même.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed