J'ai deux classes A1 et A2......

J'ai deux classes A1 et A2...... - Java - Programmation

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 ?

Reply

Marsh Posté le 23-11-2003 à 11:37:12   

Reply

Marsh Posté le 23-11-2003 à 11:37:54    

copier le contenu de l'une dans l'autre, stadire? :o

Reply

Marsh Posté le 23-11-2003 à 11:38:15    

du code :o

Reply

Marsh Posté le 23-11-2003 à 11:46:41    

DarkLord a écrit :

copier le contenu de l'une dans l'autre, stadire? :o

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


Message édité par full_phil le 23-11-2003 à 11:47:50
Reply

Marsh Posté le 23-11-2003 à 11:48:14    

oui et si T2 et T1 sont incompatibles, tu fais comment pour caster?  
Miracle?

Reply

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?  
Miracle?

Bin c là que je bloque....

Reply

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?

Reply

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

Reply

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.


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 23-11-2003 à 12:04:38    

putain pourquoi je suis plus modo moi :ange:


Message édité par Taz le 23-11-2003 à 12:04:50
Reply

Marsh Posté le 23-11-2003 à 12:04:38   

Reply

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é.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 23-11-2003 à 12:08:59    

T2 est une interface je crois que ca vient de ca

Reply

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.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 23-11-2003 à 12:14:55    

bon bin c pas ca alors... tu as envie de debugger mon code ?

Reply

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


---------------
trainoo.com, c'est fini
Reply

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

Reply

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.

Reply

Marsh Posté le 23-11-2003 à 12:25:33    

je vais pas mettre 2OO lignes de code sur le forum

Reply

Marsh Posté le 23-11-2003 à 12:27:50    

bah prends toi en main et localise le problème.

Reply

Marsh Posté le 23-11-2003 à 13:38:17    

bon ben la souscat java rattrape la souscat c/c++ on dirait :/


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 23-11-2003 à 13:39:58    

Y'a pas de raison [:--greg--]

Reply

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
 
:hello:

Reply

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.


---------------
Le site de ma maman
Reply

Marsh Posté le 23-11-2003 à 23:17:01    

200 lignes dans la même méthode je suppose, c'est un vrai lui.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 23-11-2003 à 23:36:17    

Si c'est dans la même méthode, ça peut être rigolo.


---------------
Le site de ma maman
Reply

Marsh Posté le 24-11-2003 à 07:38:01    

Cherrytree a écrit :

Si c'est dans la même méthode, ça peut être rigolo.


 
non.

Reply

Marsh Posté le 24-11-2003 à 07:53:21    

dommage.


---------------
Le site de ma maman
Reply

Marsh Posté le 24-11-2003 à 08:08:14    

[:spamafote]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 24-11-2003 à 08:13:39    

Je sais bien que [:spatafote].


---------------
Le site de ma maman
Reply

Marsh Posté le 24-11-2003 à 08:14:16    

ok :o


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 24-11-2003 à 08:25:11    

Mais [:spamafote] pour autant.
[:dehors]


---------------
Le site de ma maman
Reply

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...

Reply

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).


---------------
trainoo.com, c'est fini
Reply

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).

Reply

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.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 24-11-2003 à 13:53:59    

nraynaud a écrit :

Tu wrappes, il y a même une classe Proxy maintenant.

[:cupra]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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