Bonnes pratiques concernant la méthode toString()

Au cour de mes pérégrinations, je suis tombé sur cet article traitant de l’implémentation et de l’utilisation de la méthode toString().

Je vous invite à le lire mais pour ceux qui sont fâchés avec la langue de Shakespeare, je vais tâcher de vous le résumer (mais pas dans la langue de Molière,vous m’en voudrez si je le transcris dans le français du XVIIème siècle ^^).

  • Toujours ré-implémenter cette méthode dans vos classes. Définir une règle sous FindBugs ou JTest vous aidera à y penser.
  • Préférer l’appel de toString() au moment de debugger ou de logger.
  • Ne pas exposer des données sensibles (mots de passe d’utilisateurs) et toujours les récupérer en utilisant les accesseurs de l’objet.
  • Ré-implémenter la méthode dans les classes abstraites et préciser les implémentations dans les classes filles.
  • Présenter des données pertinentes sous un format approprié (“nom=X, prenom=Y” au lieu de “X,Y”).

Bonne lecture et à la prochaine.

VN:R_U [1.9.22_1171]
Rating: 0 (from 0 votes)
Share
Ce contenu a été publié dans Java, Trucs & astuces, avec comme mot(s)-clef(s) , . Vous pouvez le mettre en favoris avec ce permalien.

2 réponses à Bonnes pratiques concernant la méthode toString()

  1. Hugo Cordier dit :

    Pour ceux qui utilisent Guava, la classe Objects propose la méthode toStringHelper.
    Bien pratique pour construire ses toString facilement à travers une API fluide.
    (regardez par là : http://thecodersbreakfast.net/index.php?post/2011/09/26/Guava-par-l-exemple-part-1-les-classes-utilitaires )

    VN:R_U [1.9.22_1171]
    Rating: 0 (from 0 votes)
  2. jblanchard@excilys.com dit :

    Et pour ceux qui n’utilisent pas Guava, il y a l’équivalent dans Apache Commons Lang : la classe ToStringHelper présente aussi une API fluide, et peut utiliser la réflexion.
    À noter aussi dans le même package les EqualsBuilder, HashCodeBuilder et CompareToBuilder.

    VN:R_U [1.9.22_1171]
    Rating: 0 (from 0 votes)

Laisser un commentaire