J'ai deux classes A1 et A2...... - Java - Programmation
Marsh Posté le 23-11-2003 à 11:46:41
DarkLord a écrit : copier le contenu de l'une dans l'autre, stadire? |
Je veux avoir par exemple tous les elements de A1 qui se retrouvent castés dans A2
En fait mes 2 classes representent des listes dont j'ai defini le type T1 et T2
A1 est une liste de T1
A2 est une liste de T2
Je veux avoir dans A2 ce que j'avais dans A1 mais les elements soient de type T2
Marsh Posté le 23-11-2003 à 11:48:14
oui et si T2 et T1 sont incompatibles, tu fais comment pour caster?
Miracle?
Marsh Posté le 23-11-2003 à 11:49:30
DarkLord a écrit : oui et si T2 et T1 sont incompatibles, tu fais comment pour caster? |
Bin c là que je bloque....
Marsh Posté le 23-11-2003 à 11:57:34
bin ca n'a rien a voir avec tes foutues arraylist. Si tu posais ta question.
Comment veux tu qu'on te dise pq tes deux types sont incompatibles? On doit deviner ou quoi?
Marsh Posté le 23-11-2003 à 12:02:06
mais a ce moment là je dois vous donner le code et g pas envie de le divulguer comme ca et je sais pas si vous evez envie de vous taper tout le debuggage. Ceux qui veulent vraiment je peux leur envoyer
Marsh Posté le 23-11-2003 à 12:04:27
Pas besoin de tous le code, dis nous ce que sont T1 et T2 et le rapport qu'ils sont sensés avoir entr eux.
Marsh Posté le 23-11-2003 à 12:04:38
putain pourquoi je suis plus modo moi
Marsh Posté le 23-11-2003 à 12:08:46
Si fépéter le code, j'aimerais bien voir comment on étend ArrayList moi, par curiosité.
Marsh Posté le 23-11-2003 à 12:12:53
full_phil a écrit : T2 est une interface je crois que ca vient de ca |
c'est quoi exactement le rapport ? Au sens des types, ça ne change rien.
Marsh Posté le 23-11-2003 à 12:14:55
bon bin c pas ca alors... tu as envie de debugger mon code ?
Marsh Posté le 23-11-2003 à 12:16:04
full_phil a écrit : bon bin c pas ca alors... tu as envie de debugger mon code ? |
oui, poste-le ici entre 2 balises [cpp] stp
Marsh Posté le 23-11-2003 à 12:21:32
non je peux pas j'ai repris du code a un ami et je ne sais pas si il souhaite que je le devoile, je l'envoie par mail si vous voulez
Marsh Posté le 23-11-2003 à 12:23:52
non. on prends la peine de te répondre sur le forum, tu réponds sur le forum.
Marsh Posté le 23-11-2003 à 13:38:17
bon ben la souscat java rattrape la souscat c/c++ on dirait
Marsh Posté le 23-11-2003 à 19:02:09
full_phil a écrit : mais a ce moment là je dois vous donner le code et g pas envie de le divulguer |
j'ai pas envie de sortir ma boule de cristal
Marsh Posté le 23-11-2003 à 23:10:47
200 lignes correctement indentées, pourquoi pas. Mon chef fait bien des programmes de 1500 lignes.
Marsh Posté le 23-11-2003 à 23:17:01
200 lignes dans la même méthode je suppose, c'est un vrai lui.
Marsh Posté le 23-11-2003 à 23:36:17
ReplyMarsh Posté le 24-11-2003 à 07:38:01
ReplyMarsh Posté le 24-11-2003 à 08:08:14
Marsh Posté le 24-11-2003 à 08:14:16
ok
Marsh Posté le 24-11-2003 à 11:25:55
Pour info, il est très rare qu'on ait besoin d'étendre ArrayList. En général, c'est une mauvaise idée, car c'est seulement de la fainéantise : il vaut mieux implémenter List (ou étendre AbstractList) si ta classe est, du point de vue logique, une liste (ce qui n'a de sens que si tu définis un nouveau type collection de type liste) et avoir un attribut privé de type List, que tu initialises par un "new ArrayList()".
Et si ta classe n'est pas un nouveau type de collection-liste, alors c'est encore plus une mauvaise idée de la faire hériter de ArrayList.
En plus, par cette méthode, tu verras que tu n'auras plus aucun souci pour copier une liste dans une autre...
Marsh Posté le 24-11-2003 à 11:29:35
d'ailleur on se demande encore pourquoi ils n'ont pas passé la moitié du JDK en "final" vu que la plupart des trucs ne s'étendent pas par héritage mais par points de branchement (avec une interface et plus rarement la classe abstraite qui va avec).
Marsh Posté le 24-11-2003 à 11:46:03
Ca m'est arrivé une fois de faire hériter une classe d'ArrayList. C'était pour créer une classe ArrayStack, clone non synchronisée de java.lang.Stack.
Le JDK ne peut être complet, alors ce n'est pas forcément une bonne idée que les classes du JDK soient finales (par exemple, ça m'est arrivé de râler parce que java.lang.StringBuffer et java.net.URL étaient finales).
Marsh Posté le 24-11-2003 à 12:12:36
BifaceMcLeOD a écrit : Ca m'est arrivé une fois de faire hériter une classe d'ArrayList. C'était pour créer une classe ArrayStack, clone non synchronisée de java.lang.Stack. |
Tu wrappes, il y a même une classe Proxy maintenant.
Marsh Posté le 24-11-2003 à 13:53:59
nraynaud a écrit : Tu wrappes, il y a même une classe Proxy maintenant. |
Marsh Posté le 23-11-2003 à 11:37:12
public class A1 extends ArrayList {
.......
}
public class A2 extends ArrayList {
.......
}
Ces deux classes étendent ArrayList
Je n'arrive pas à copier le contenu de l'une dans l'autre sans me prendre un java.lang.ClassCastException
Qui peut me proposer une idée ?