Maison >Java >javaDidacticiel >Comment puis-je remplacer efficacement la méthode toString() en Java ?

Comment puis-je remplacer efficacement la méthode toString() en Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-22 12:20:11308parcourir

How Can I Effectively Override the toString() Method in Java?

Surcharge de toString() en Java : un guide détaillé

La méthode toString(), une partie native de la classe Object, joue un rôle rôle central dans la représentation de l’état d’un objet. Cette méthode est invoquée implicitement lors de diverses opérations comme System.out.println() et le débogage. Cependant, la substitution de toString() nécessite une attention particulière pour garantir qu'elle génère une sortie significative.

Un piège courant est l'utilisation de constructeurs paramétrés dans la toString() remplacée. Comme démontré dans le code donné, le deuxième constructeur de la classe Kid tente d'utiliser un StringTokenizer pour diviser une chaîne de date, en attribuant le résultat aux variables de classe. Cependant, ce constructeur n'est jamais appelé explicitement et est donc considéré comme inaccessible depuis la méthode toString().

La clé pour remplacer correctement toString() est de renvoyer une chaîne qui reflète avec précision l'état de l'objet. Dans le code fourni, la version mise à jour suivante de la méthode toString() accomplit cette tâche :

public String toString() {
    return "Name: '" + this.name + "', Height: '" + this.height + "', Birthday: '" + this.bDay + "'";
}

Cette méthode toString() révisée utilise la concaténation de chaînes pour générer une représentation lisible et informative de l'objet Kid. En évitant l'utilisation de constructeurs paramétrés et en se concentrant sur le retour d'une chaîne, cette implémentation garantit que les données de l'objet sont correctement affichées lorsque la méthode toString() est appelée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn