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

Collection et Stream Java Discussion :

Cloner un DateTime de Joda


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Points : 16
    Points
    16
    Par défaut Cloner un DateTime de Joda
    Bonjour,

    Je souhaterais cloner une DateTime de la librairie Joda-Time

    En regardant son javadoc : http://joda-time.sourceforge.net/api.../DateTime.html, il hérite de la méthode clone de Object,

    mais je n'arrive pas à accéder à la méthode. Comment faire ma "deep-copy" (Clone) ?

    Merci d'avance pour toute info

    St.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Tous les objets héritent de Object, et donc de sa méthode clone(). Mais seules les classes qui la redéfinissent ou qui implémentent aussi Cloneable pourront s'en servir. C'est assez surprenant, mais c'est pour des raisons historiques.

    Bref, DateTime ne redéfinit pas clone() et n'implémente pas Cloneable. Donc clone() ne marchera pas pour elle.

    Comment faire ma "deep-copy" (Clone) ?
    Nous commencerons par voir que d'après cette même JavaDoc, ainsi qu'intuitivement, DateTime est censée être immutable et donc ça devrait être totalement inutile d'en faire des copies.

    Il existe un seul cas pathologique où un DateTime n'est pas immutable et donc qu'en faire une copie sert à quelque chose.
    C'est si ce DateTime utilise une Chronology autre que les Chronology Joda. Et qu'elle est mutable.
    Dans ce cas, la méthode est :
    - Faire une copie profonde de cette Chronology, en supposant qu'il existe un moyen de le faire (elle vient pas de Joda, donc elle est inconnue, donc on peut pas savoir.)
    - Construire la copie avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new DateTime(laDateACopier, laCopieDeChronology)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [API JODA] Comment parser une dateTime du genre "Thu Feb 27 15:11:18 GMT 2014" ?
    Par Péchereau dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 17/04/2014, 12h22
  2. [XStream] Déserialiser des DateTime de joda-time
    Par lyxthe dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 15/11/2013, 08h58
  3. Recuperer la date sans l'heur dans un champ datetime
    Par bob33 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 22/06/2010, 12h59
  4. Comment afficher Joda datetime
    Par ttttnht dans le forum Collection et Stream
    Réponses: 0
    Dernier message: 15/05/2009, 12h42
  5. Comment cloner un composant
    Par totoranky dans le forum Composants
    Réponses: 2
    Dernier message: 12/04/2003, 15h29

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