Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1406 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  clonage d'un class avec une ArrayList

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

clonage d'un class avec une ArrayList

n°1282232
blaise_lap​orte
Posté le 12-01-2006 à 15:51:09  profilanswer
 

Boujour(bonsoir!) les gens!
 
Voila, j'ai la class suivante (version simplifiée)
 

Code :
  1. public abstract class Courbe implements Cloneable{
  2. /**Liste des PointMesure représentant la courbe*/
  3. protected ArrayList<PointMesure> listePoint;
  4. /**construit un objet courbe*/
  5. public Courbe() {
  6.  listePoint = new ArrayList<PointMesure>();
  7. }
  8. public void addPoint(PointMesure pm) {
  9.  listePoint.add(pm);
  10. }
  11. /**methode clone*/
  12. public Object clone(){
  13.  Object o = null;
  14.  try {
  15.   o = super.clone();
  16.   (Courbe)o.listePoint = this.listePoint.clone();
  17.   for(int i; i<(Courbe)o.listePoint.size(); i++)
  18.    (Courbe)o.listePoint.set(i, ((PointMesure)this.listePoint.get(i)).clone());
  19.  } catch(CloneNotSupportedException e) {
  20.   System.err.println("MyObject can't clone" );
  21.  }
  22.  return o;
  23. }
  24. }


 
Le probleme se situe au niveau du clonage de l'ArrayList : je n'arrive pas à sélectionner l'ArrayList de l'objet o clone pour la modifier. La syntaxe: "(Courbe)o.listePoint" ne compile pas; il ne detecte pas l'ArrayList listePoint.
 
Du coup, je ne sais pas comment faire une copie profonde de ma class.
 
Merci

mood
Publicité
Posté le 12-01-2006 à 15:51:09  profilanswer
 

n°1282236
frabill
Posté le 12-01-2006 à 15:59:46  profilanswer
 

((Courbe)o).listePoint ça me paraît mieux, non ?

n°1282248
masklinn
í dag viðrar vel til loftárása
Posté le 12-01-2006 à 16:09:05  profilanswer
 

C'est bien compliqué comme code :/
 
Pourquoi ne pas créer un constructeur par recopie et construire un nouvel objet grâce à lui dans clone()?
 
Et tu devrais également utiliser la syntaxe foreach, vu que tu as l'air d'être en java5.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1282259
blaise_lap​orte
Posté le 12-01-2006 à 16:16:26  profilanswer
 

frabill a écrit :

((Courbe)o).listePoint ça me paraît mieux, non ?


 
oups!!!!
Ca marche mieu...
[:anauff]
 
[:athome]
 
(J'ai du mal moi en ce moment, mais vraiment...)
 

Citation :


C'est bien compliqué comme code :/
 
Pourquoi ne pas créer un constructeur par recopie et construire un nouvel objet grâce à lui dans clone()?
 
Et tu devrais également utiliser la syntaxe foreach, vu que tu as l'air d'être en java.


 
 
ban, dans clone, je ne peux pas faire appelle au constructeur de la classe étant donné que celle-ci est abstraite.
Sinon, je connai pas foreach, vais me renseigner.
 
Merci!
 
 

n°1282331
masklinn
í dag viðrar vel til loftárása
Posté le 12-01-2006 à 17:05:08  profilanswer
 

http://java.sun.com/j2se/1.5.0/doc [...] reach.html


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1282445
the real m​oins moins
Posté le 12-01-2006 à 19:34:22  profilanswer
 

/**construit un objet courbe*/
    public Courbe() {
 


    /**methode clone*/
    public Object clone(){


 
[:toto le hros] :D :D :D


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1282454
frabill
Posté le 12-01-2006 à 19:47:25  profilanswer
 

the real moins moins a écrit :

/**construit un objet courbe*/
    public Courbe() {
 


    /**methode clone*/
    public Object clone(){


 
[:toto le hros] :D :D :D


 
au moins avec des commentaires comme ça,  il ne peut pas y avoir d'ambiguïté  :o

n°1283039
blaise_lap​orte
Posté le 13-01-2006 à 15:20:27  profilanswer
 

the real moins moins a écrit :

/**construit un objet courbe*/
    public Courbe() {
 


    /**methode clone*/
    public Object clone(){


 
[:toto le hros] :D :D :D


 
 
Heu... Surement que j'ai fais une connerie quelque pars, mais dans ce cas la, soit gentils de me l'indiquer aprés t'être moqué de moi! merci...

n°1283044
masklinn
í dag viðrar vel til loftárása
Posté le 13-01-2006 à 15:25:33  profilanswer
 

blaise_laporte a écrit :

Heu... Surement que j'ai fais une connerie quelque pars, mais dans ce cas la, soit gentils de me l'indiquer aprés t'être moqué de moi! merci...


the real moins moins a écrit :

/**construit un objet courbe*/
    public Courbe() {
 
 
    /**methode clone*/
    public Object clone(){
 
[:toto le hros] :D :D :D


C'est plus clair?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1283045
frabill
Posté le 13-01-2006 à 15:25:47  profilanswer
 

non tu n'as pas fait d'erreur, c'est juste que les commentaires dans ton code n'apportent aucune information :D
 
edit : ha mince j'avais pas fait gaffe au clone


Message édité par frabill le 13-01-2006 à 15:27:04
mood
Publicité
Posté le 13-01-2006 à 15:25:47  profilanswer
 

n°1283060
blaise_lap​orte
Posté le 13-01-2006 à 15:36:15  profilanswer
 

Et qu'est-ce qu'il a le clone()?

n°1283223
the real m​oins moins
Posté le 13-01-2006 à 18:30:38  profilanswer
 

oui non euh, le clone est bien, c'etait rapport a la javadoc plus qu'inutile, ma remarque  [:icon12]


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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  clonage d'un class avec une ArrayList

 

Sujets relatifs
Class wide procedureProblème de class en php
Pb d'affectation d'un gridLayout d'une class a une autreutiliser un fichier .class sour eclipse
Methode static dans une classfriend surcharge class template
javascript => attribut class[Résolu] unhandled exception class System.SecurityE
[Resolu}JAVA Pb pour faire appel a d'autres class d'un meme packagecomment implémenter un objet dont le .class est dans autre répertoire
Plus de sujets relatifs à : clonage d'un class avec une ArrayList


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR