Modification de collection d'objets
Fermé
Khatrouch
-
29 mars 2015 à 00:13
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 29 mars 2015 à 12:18
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 29 mars 2015 à 12:18
A voir également:
- Modification de collection d'objets
- Site pour vendre des objets d'occasion - Guide
- Suivi de modification word - Guide
- Logiciel modification pdf gratuit - Guide
- Modification dns - Guide
- Modification d'écriture - Guide
1 réponse
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
29 mars 2015 à 00:41
29 mars 2015 à 00:41
Bonjour,
Un code incomplet ne nous permet pas de t'aider, on ne peut pas comprendre le contexte de ta classe sans son code.
Visiblement tu utilises ta propre classe "List" (et si je comprends bien tu as aussi ta propre classe "arrayliste") ce qui est clairement une mauvaise idée vu qu'en Java l'interface List et la classe ArrayList désignent quelque chose de bien précis qui n'est visiblement pas compatible avec ce que tu as codé.
Donc sans les classe "List", "arrayliste", Cpl, ou autres éléments de code qui nous permettrait de tester, impossible de te dire pourquoi ton code ne fonctionne pas...
Remarque : tu as les balises <code java></code> pour mettre en forme ton code sur le forum.
Un code incomplet ne nous permet pas de t'aider, on ne peut pas comprendre le contexte de ta classe sans son code.
Visiblement tu utilises ta propre classe "List" (et si je comprends bien tu as aussi ta propre classe "arrayliste") ce qui est clairement une mauvaise idée vu qu'en Java l'interface List et la classe ArrayList désignent quelque chose de bien précis qui n'est visiblement pas compatible avec ce que tu as codé.
Donc sans les classe "List", "arrayliste", Cpl, ou autres éléments de code qui nous permettrait de tester, impossible de te dire pourquoi ton code ne fonctionne pas...
Remarque : tu as les balises <code java></code> pour mettre en forme ton code sur le forum.
Modifié par KX le 29/03/2015 à 01:33
La classe Cpl est définit comme suit:
La classe List :
La classe RidList:
Voilà leurs organisations, est-ce que vous pouvez m'aider maintenant. Merci d'avance.
29 mars 2015 à 12:18
Remarque : puisque ta classe List est paramétrée, il faut lui affecter un paramètre à chaque fois que tu l'utilises, sinon ce sera Object par défaut, alors que ce tu voudrais ce sont plutôt des Cpl
Mais je ne comprends pas l'intérêt d'utiliser ArrayList ici, pourquoi ne pas reprendre ta classe List, alors qu'apriori elle est faite pour la remplacer ?
Remarque : en Java les noms d'attributs ou de méthodes devraient commencer par une minuscule (rList au lieu de RList) et ne pas contenir de underscore (binCode au lieu de bin_code, updateRidlist au lieu de update_ridlist). De plus mettre un attribut public est toujours dangereux, il faudrait le protéger soit en le déclarant private, soit en lui rajoutant le statut final (éventuellement les deux)
D'ailleurs à propos de getteur, tu n'en as pas, ou tu ne les utilises pas, mais ça donne un code assez bizarre où tu as des mélange d'accès par méthodes et d'accès par attributs comme dans on s'attendrait plutôt à avoir un avec get(int) une méthode de la classe List qui masque la structure interne en l'ArrayList, la manipulation d'un objet doit se faire par l'appels à ses méthodes, pas aux méthodes de ses membres, c'est dangereux.
Quant à ton besoin, "vérifier lors du parcours de RLists'il y a une liste qui est incluse dans une autre liste" je ne vois pas en quoi ta méthode répond à ce problème, on s'attendrait à avoir une méthode avec un booléen en résultat qui renvoie true ou false si les deux paramètres (qu'il faudrait donc mettre aussi) sont inclus l'un dans l'autre. Mais là ta méthode modifie tes listes (avec des add) et ne renvoie aucun résultat, je ne vois pas comment ça peut faire ce que tu veux.
Enfin, à propos de ton commentaire, "remplissage de Rlist est fait", ce n'est pas le rôle d'un constructeur de se remplir lui même, il doit initialiser les attributs (construire l'ArrayList par exemple), mais l'ajout d'éléments doit se faire grâce aux paramètres qui sont passés au constructeur, pas magiquement avec un constructeur qui renverra toujours la même chose pour tous les objets.