Recuperer le type de l'objet d'une Arraylist [Java] - Java - Programmation
Marsh Posté le 29-05-2008 à 16:05:27
isinstance
Et accessoirement, devoir utiliser ce genre de trucs est 90% du temps un signe que ton design est franchement mauvais.
Marsh Posté le 29-05-2008 à 16:56:53
Essaye comme ca:
Code :
|
Sinon +1 avec Masklinn, essaye de factoriser tes classes Triangle et Carre afin de n'appeler que des methodes communes aux deux classes dans ton itération.
Marsh Posté le 29-05-2008 à 17:25:22
nerisson a écrit : Sinon +1 avec Masklinn, essaye de factoriser tes classes Triangle et Carre afin de n'appeler que des methodes communes aux deux classes dans ton itération. |
Non mais de toute façon pour bosser proprement si il utilise les generics il a déjà une interface ou une superclasse commune
Spoiler : d'un autre côté, s'il utilise les iterators manuellement de cette manière je doute qu'il code en java5 |
Marsh Posté le 29-05-2008 à 17:30:19
Concretement, je gere un Zoo, j'ai des cages normales, et des classes derivées comme par exemple Cage pour robots. Je veux faire une seule et même liste de cages, sans differencier les differents types de cages. Mais lors du parcours de cette liste, pour afficher les cages et leurs contenus, je dois bien caster les differents objets que je recupere non ?
Ou alors il existe une autre methode ?
Marsh Posté le 29-05-2008 à 17:44:50
http://www.deitel.com/articles/jav [...] erics.html
Marsh Posté le 29-05-2008 à 19:26:49
Autant pour moi je croyais que si on ne precisait pas le type de l'objet recupere, on ne pouvait utiliser que des methodes de la classe Object, et donc pas les methodes generiques. Désolé, merci !
Marsh Posté le 29-05-2008 à 22:30:34
bubqr a écrit : Concretement, je gere un Zoo, j'ai des cages normales, et des classes derivées comme par exemple Cage pour robots. Je veux faire une seule et même liste de cages, sans differencier les differents types de cages. Mais lors du parcours de cette liste, pour afficher les cages et leurs contenus, je dois bien caster les differents objets que je recupere non ? |
La classe mère (Cage) possède une méthode réalisant ce que tu veux faire (en l'occurrence, afficher son contenu).
Les classes filles (CageRobot, ...) redéfinissent cette méthode à leur convenance.
Dans ton parcours avec l'iterator, tu castes en la classe mère (Cage) ce que renvoie next().
Marsh Posté le 29-05-2008 à 15:47:45
Bonjour,
J'ai un probleme qui paraitra probablement stupdie a la majorite d'entre vous, mais apres recherche sur le forum et sur google, je n'ai pas réussi à trouver la solution.
J'ai une Arraylist de plusieurs types differents d'objets, et au moment de les recuperer pour les exploiter, je n'arrive pas a savoir comment recuperer le type de l'objet que j'ai recuperé avec mon iterateur.
En effet j'aimerais avoir ca:
La seule solution que j'ai trouver c'est d'utiliser la methode Iterator.toString, qui renvoie "Carre@2a4b56", de recuperer les premiers caracteres, et de le comparer avec le type de la classe.
C'est assez moche, et je pense bien qu'il y a bien mieux a faire, non ?
Merci d'avance !
Message édité par bubqr le 29-05-2008 à 15:48:35