IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Clonage récursif d'un objet


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 14
    Points : 18
    Points
    18
    Par défaut Clonage récursif d'un objet
    Bonjour à tous

    J'ai un objet objA de type A, qui a un champ autreObjA de type A, qui lui même fait référence à objA : objA -> autreObjA -> objA.

    Comment puis-je réaliser un clone de mon objet objA (parce que du coup, c'est récursif et ça ne s'arrête pas...) ?

    Merci d'avance !

    Grégory

  2. #2
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Utilise la méthode "clone" de la classe SerializationUtils de l'API Jakarta Commons Lang.
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 14
    Points : 18
    Points
    18
    Par défaut
    Merci beaucoup pour ta réponse rapide !

    Je vais faire mon pénible, mais existe-t-il une solution disons "algorithmique" ou du moins sans utiliser de classe externe que les simples mécanismes du langage ?

    A l'origine le problème était le suivant :

    J'ai un graphe, une classe Sommet, et une instance de Sommet a un champ qui est un tableau de Sommets (ses successeurs). Or comment cloner un graphe représentant un circuit à 3 sommets A->B->C->A (je suis d'accord, on peut implémenter différemment un graphe mais je voulais savoir si ce problème avait une solution).

    Mais merci quand même pour la 1ère réponse !

    Grégory

  4. #4
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Le code-source de <<SerializationUtils.clone()>> te renseigne, tout comme son nom, sur le fait que c'est la sérialisation/désérialisation de l'objet qui est utilisé MAIS néanmoins (merci gfx)...
    Citation Envoyé par http://www.progx.org/index.php?section=articles&article=Design%20Patterns/article4#_topic_4
    Ensuite, la "deep copy" ne fonctionnera pas si tous les attributs de l'objet cloné ne peuvent subir une sérialisation. Pour terminer, les classes formant des références circulaires avec d'autres ne pourront se voir clonées.
    Résultat : "java deep copy" !
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 14
    Points : 18
    Points
    18
    Par défaut
    "Pour terminer, les classes formant des références circulaires avec d'autres ne pourront se voir clonées."

    => voilà ce que je voulais savoir

    Merci beaucoup pour tes réponses, et pour la solution via JCL

    Grégory

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Constructeur récursif en Java objet, une alternative?
    Par User Name dans le forum Langage
    Réponses: 8
    Dernier message: 01/11/2010, 16h08
  2. Probleme de clonage d'un objet serialise a partir d'un fichier XML
    Par h_ismaili dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 10/06/2007, 11h07
  3. Probleme : clonage de tableau d'objets
    Par sebastien2222 dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 26/09/2006, 09h35
  4. Clonage d'un objet
    Par Dar Shak dans le forum Java ME
    Réponses: 2
    Dernier message: 31/05/2005, 17h06
  5. Objets "récursifs"
    Par Thierry65 dans le forum Langage
    Réponses: 3
    Dernier message: 09/05/2005, 20h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo