Pb arrayList - Java - Programmation
Marsh Posté le 23-12-2004 à 21:32:21
Suis je obliger de "caster" le resulat?
numero e=(numero) listeExigence.get(i);
System.out.println("Numero : "+e.numeroPrecedent());
Marsh Posté le 23-12-2004 à 21:33:54
Tu dois caster liste.get(i) en une instance de la classe voulue, car comme toutes les collections, celle-ci travaille avec des Objects, et get(int) te renvoit un Object. Tu ne nous dis cependant pas ce que tu as mis dans la liste.
Par exemple :
Code :
|
Tu récupères via:
Code :
|
Et tu t'empresses de rendre numero précédent private et de fournir des accesseurs getPreviousNumber() et setPreviousNumber() avant que les choses tournes mal : "touche pas à mon objet, passe par une méthode".
Marsh Posté le 23-12-2004 à 21:35:01
joquetino a écrit : Numero e=(Numero) listeExigence.get(i); |
Majuscules au noms de classes en Java !
EDIT: Tu aurais pu trouver par toi-même plutôt que de paresseusement poser la question
Marsh Posté le 23-12-2004 à 22:01:17
Code :
|
Java 1.5 n'a pas introduit les types génériques pour rien ! Ca permet de supprimer tous ces cast tout laid
Marsh Posté le 23-12-2004 à 22:06:39
Giz a écrit :
|
Marsh Posté le 23-12-2004 à 22:09:53
Giz a écrit : Java 1.5 n'a pas introduit les types génériques pour rien ! Ca permet de supprimer tous ces cast tout laid |
Qui te dit qu'il travaille forcément avec 1.5 ?
Tu crois qu'on peut toujours choisir ?
Marsh Posté le 23-12-2004 à 22:54:20
sircam a écrit : Qui te dit qu'il travaille forcément avec 1.5 ? |
Ben s'il travaille avec le kit JDK1.4.X, la compatibilité est assurée (normalement elle est assurée pour une version d'écart). Bon après s'il est toujours en java 1.0, c'est clair que ça peut faire la gueule
Marsh Posté le 23-12-2004 à 21:17:06
Bonjour à tous,
J'ai un petit souci avec un objet de type ArrayList.
En effet, j'ai declaré un objet de cette façon :
Dans cette liste, j'ai des éléments d'un type numero.
J'aimerai afficher les éléments de cette liste de la façon suivante :
numeroPrecedent() est une procédure de la classe numero.
Mais évidemment j'ai une erreur : il me dis que la procédure numeroPrecedent() n'est pas declaré dans la classe OBJECT.
Comment pourrai-je faire?
Merci d'avance.