- 1 1. Introduction
- 2 2. Qu’est‑ce que la méthode Java toString ?
- 3 3. Utilisation de base et exemples de sortie
- 4 4. Comment surcharger la méthode toString
- 5 5. Exemples pratiques : utilisation de toString dans des classes personnalisées
- 6 6. Problèmes courants et dépannage (format Q&A)
- 7 7. Différences entre toString et valueOf, et comment les utiliser correctement
- 8 8. Modèles d’utilisation pratiques de toString
- 9 9. Informations spécifiques à la version et avancées
- 10 10. Résumé et sujets connexes recommandés
- 11 11. FAQ (Foire aux questions)
- 12 12. Diagrammes et tableaux comparatifs
1. Introduction
Lorsque vous développez en Java, vous rencontrerez souvent la « méthode toString ». Elle joue un rôle important, surtout lorsque vous voulez inspecter rapidement l’état ou le contenu d’un objet, ou lors du débogage et de la génération de journaux. Cependant, de nombreux développeurs débutants voire intermédiaires peuvent se demander : « Que fait exactement toString ?», « Pourquoi est‑il recommandé de le surcharger ?», ou « En quoi diffère‑t‑il des autres méthodes de conversion ? » Dans cet article, nous expliquerons en détail la méthode toString de Java — des concepts de base à l’utilisation pratique, en passant par les techniques de dépannage, les différences avec valueOf et les cas d’utilisation réels. Nous présenterons également les erreurs courantes et leurs solutions, afin de vous donner les connaissances nécessaires pour éviter les problèmes dans des scénarios de développement concrets. Si vous avez déjà rencontré des questions du type « Une chaîne étrange s’affiche quand j’affiche un objet », ou « Quand exactement toString est‑il appelé ?», ce guide vous aidera. Que vous soyez débutant ou que vous cherchiez à maîtriser Java à un niveau plus approfondi, vous trouverez des exemples utiles et des conseils pratiques.
2. Qu’est‑ce que la méthode Java toString ?
La méthode toString en Java est une méthode standard définie dans la classe Object, le parent de toutes les classes. Elle sert à représenter les informations détenues par une instance sous forme de « chaîne », fonctionnant comme une carte de visite pour les objets en Java.
La méthode toString est principalement utilisée dans les situations suivantes :
- Lorsque vous voulez afficher un objet sous forme de chaîne
- Lorsque vous voulez vérifier rapidement le contenu d’un objet lors du débogage ou de la sortie de logs
Comment fonctionne l’implémentation par défaut
Lorsque vous créez une nouvelle classe en Java et que vous n’écrivez pas votre propre méthode toString, l’implémentation par défaut de la classe Object est utilisée.
Cette implémentation renvoie une chaîne formatée comme suit :
ClassName@HashCode (in hexadecimal)
Par exemple, considérons la classe suivante :
public class Product {
private String name;
private int price;
}
Si vous créez une instance de cette classe et l’imprimez avec System.out.println, vous verrez quelque chose du type :
Product@7a81197d
Ce format « NomDeClasse@HashCode » peut être utile pour distinguer les objets en interne, mais il fournit presque aucune information exploitable pour un humain qui cherche à comprendre le contenu d’un objet.
Quand toString est appelé automatiquement
La méthode toString est invoquée automatiquement dans les situations suivantes sans appel explicite :
- Lors de l’impression directe d’un objet avec
System.out.println(object) - Lors de la concaténation d’une chaîne et d’un objet avec l’opérateur
+(par ex. :"Valeur : " + obj)
Comme Java traite fréquemment les objets comme des entités « pouvant être représentées par toString », comprendre et utiliser correctement cette méthode est essentiel.
3. Utilisation de base et exemples de sortie
La méthode toString est utilisée dans de nombreuses situations en Java. Dans cette section, nous expliquons le comportement de toString dans les classes standard et ce qui se passe lorsqu’elle n’est pas surchargée dans des classes personnalisées, avec des exemples concrets.
toString dans les classes wrapper primitives
Java fournit des classes wrapper standard pour les types primitifs tels que int et double (par ex. : Integer, Double). Ces classes surchargent déjà la méthode toString de manière pertinente.
Par exemple :
Integer num = 123;
System.out.println(num.toString()); // Output: 123
Double pi = 3.14;
System.out.println(pi.toString()); // Output: 3.14
De cette façon, les classes wrapper primitives vous permettent d’obtenir directement leurs valeurs sous forme de chaînes grâce à toString.
toString dans les classes personnalisées (sans surcharge)
Lorsque vous créez votre propre classe, l’implémentation par défaut de toString (NomDeClasse@HashCode) est utilisée tant que vous ne la surchargez pas.
public class Product {
private String name;
private int price;
public Product(String name, int price) {
this.name = name;
this.price = price;
}
}
Product p = new Product("りんご", 150);
System.out.println(p.toString()); // Example: Product@4e25154f
Cette sortie n’affiche que le nom de la classe et un code de hachage hexadécimal. Elle ne comprend aucune valeur interne, ce qui la rend peu pratique dans la plupart des situations réelles.
Comportement lors de l’utilisation de System.out.println
Lors de l’utilisation de System.out.println(object), la méthode toString() est appelée automatiquement en interne. Ainsi, les deux lignes ci‑dessous produisent la même sortie :
System.out.println(p); // toString is automatically called
System.out.println(p.toString()); // Explicit call
Appel implicite de toString lors de la concaténation de chaînes
Lors de la concaténation d’une chaîne et d’un objet avec l’opérateur « + », Java appelle automatiquement toString.
System.out.println("Product info: " + p);
// Output example: "Product info: Product@4e25154f"
Comprendre ce comportement aide à identifier la cause d’une sortie de chaîne inattendue lors du débogage ou de la journalisation.
4. Comment surcharger la méthode toString
Lorsqu’on travaille avec des classes personnalisées en Java, surcharger la méthode toString est extrêmement important. En la surchargeant, vous pouvez afficher les informations d’un objet dans un format clair et lisible, rendant le débogage et le développement beaucoup plus efficaces.
Pourquoi la surcharge est‑elle nécessaire ?
Comme expliqué précédemment, l’implémentation par défaut de toString n’affiche que « NomDeClasse@HashCode », ce qui ne révèle pas le contenu de l’objet. Dans les environnements de développement réels, il faut souvent comprendre rapidement l’état d’un objet, et vérifier chaque champ manuellement est inefficace. En surchargeant toString, vous pouvez afficher les valeurs des champs clés d’un seul coup d’œil, améliorant la lisibilité et l’efficacité du flux de travail. De plus, des informations détaillées peuvent être automatiquement incluses dans les journaux ou les messages d’erreur, facilitant un dépannage plus rapide.
Syntaxe de base et conseils d’implémentation
La structure de base d’une méthode toString surchargée est la suivante :
@Override
public String toString() {
return "ClassName{field1=" + field1 + ", field2=" + field2 + "}";
}
Conseils :
- Le type de retour doit être String.
- Utilisez l’annotation @Override pour éviter les erreurs.
- N’affichez que les champs importants (évitez les données sensibles, privées ou excessivement volumineuses).
Tableau de comparaison : exemples de sortie par défaut vs. surchargée
| Output Example | Description |
|---|---|
| Product@7a81197d | Default implementation |
| Product{name=りんご, price=150} | Example of an overridden implementation |
Exemple d’implémentation
Voici un exemple utilisant la même classe Product que dans la section précédente :
public class Product {
private String name;
private int price;
public Product(String name, int price) {
this.name = name;
this.price = price;
}
@Override
public String toString() {
return "Product{name=" + name + ", price=" + price + "}";
}
}
Avec cette surcharge, la sortie de System.out.println(p) devient :
Product{name=りんご, price=150}
Ceci est nettement plus compréhensible que la sortie par défaut.
Résumé
Surcharger la méthode toString est une technique essentielle en développement Java. Elle vous permet d’afficher les informations d’un objet dans un format clair et lisible, rendant le développement quotidien et le débogage beaucoup plus efficaces.
5. Exemples pratiques : utilisation de toString dans des classes personnalisées
Pour comprendre comment la surcharge de la méthode toString peut être utile en pratique, cette section présente des exemples concrets utilisant des classes personnalisées. Nous mettons également en évidence les pièges courants et les techniques avec lesquelles les débutants ont souvent des difficultés.
Exemple de surcharge de toString incluant les champs
Considérez une classe Product utilisée pour gérer les informations produit. Si vous ne surchargez pas toString, la sortie sera simplement « Product@HashCode ». Cependant, implémenter toString comme indiqué ci‑dessous rend le contenu immédiatement clair.
public class Product {
private String name;
private int price;
private String category;
public Product(String name, int price, String category) {
this.name = name;
this.price = price;
this.category = category;
}
@Override
public String toString() {
return "Product{name=" + name + ", price=" + price + ", category=" + category + "}";
}
}
Lorsque vous affichez une instance de cette classe :
Product apple = new Product("りんご", 150, "果物");
System.out.println(apple);
// Output example: Product{name=りんご, price=150, category=果物}
Conseils pratiques pour une utilisation réelle
- Lors du débogage Surcharger toString vous permet de vérifier la valeur de chaque champ directement avec System.out.println ou la sortie du journal.
- Affichage des tableaux ou listes Si vous affichez un tableau ou une List d’objets Product, la méthode toString surchargée sera utilisée pour chaque élément, rendant l’inspection en masse beaucoup plus simple.
List<Product> products = Arrays.asList( new Product("みかん", 100, "果物"), new Product("バナナ", 120, "果物") ); System.out.println(products); // Output example: [Product{name=みかん, price=100, category=果物}, Product{name=バナナ, price=120, category=果物}]
- Intégration avec les débogueurs d’IDE De nombreux IDE (Eclipse, IntelliJ, etc.) utilisent la sortie de toString lors de l’affichage des détails d’un objet aux points d’arrêt. Écrire un toString propre et lisible améliore considérablement l’efficacité du débogage.
Pièges courants que les débutants doivent surveiller
- Il n’est pas nécessaire d’afficher tous les champs. Exclure les données sensibles ou privées lorsque cela est nécessaire.
- Faites attention aux références circulaires lorsqu’on appelle le toString d’un autre objet depuis le sien (par ex., A → B → A).
Résumé
En surchargeant toString, vous améliorez considérablement la visibilité pendant le développement, le débogage, et même le dépannage dans les environnements de production. Utilisez ces implémentations d’exemple comme référence et appliquez-les de manière proactive dans vos classes personnalisées.
6. Problèmes courants et dépannage (format Q&A)
Bien que la méthode toString soit pratique, une implémentation ou une utilisation incorrecte peut entraîner des problèmes inattendus. Cette section résume les erreurs et questions fréquemment rencontrées sous forme de Q&A, ainsi que leurs causes et solutions.
Q1. Que se passe-t-il si j’oublie de surcharger toString ?
A1.
Si vous oubliez de le surcharger, System.out.println ou la sortie du journal affichera uniquement « ClassName@HashCode », ce qui rend impossible la compréhension de l’état interne de l’objet. Pour les classes complexes ou les objets stockés dans des tableaux et des listes, cela rend souvent difficile la distinction entre les éléments. Pour maintenir l’efficacité du développement et du débogage, surchargez toujours toString lorsque c’est nécessaire.
Q2. Que se passe-t-il si j’appelle toString sur null ?
A2.
Appeler toString sur null lance une NullPointerException. Exemple :
Product p = null;
System.out.println(p.toString()); // NullPointerException
Vérifiez toujours la nullité lorsqu’elle est possible :
if (p != null) {
System.out.println(p);
} else {
System.out.println("Product is null");
}
Q3. Que faire si toString provoque des appels récursifs et entraîne un StackOverflowError ?
A3.
Si toString dans une classe appelle le toString d’une autre classe qui finit par rappeler celui de la classe d’origine, vous déclencherez une récursion infinie, entraînant un StackOverflowError. Cela est fréquent dans les références parent‑enfant ou bidirectionnelles.
Solutions possibles :
- Limiter la sortie à un côté de la relation
- N’afficher que des résumés (par ex., les ID ou les champs clés)
Q4. Pourquoi toString est‑il appelé automatiquement lors de la concaténation de chaînes ?
A4.
Lors de la concaténation d’une chaîne et d’un objet avec l’opérateur « + », Java appelle automatiquement toString.
Si le toString par défaut est utilisé, des chaînes inattendues et illisibles peuvent apparaître.
C’est une autre raison pour laquelle il est recommandé de surcharger toString.
Q5. À quoi dois‑je faire attention en matière de sécurité lors de l’implémentation de toString ?
A5.
N’incluez jamais de mots de passe, d’informations personnelles, de clés privées ou d’autres données sensibles dans la sortie de toString.
Étant donné que les journaux ou les messages d’erreur peuvent être exposés à l’extérieur, n’incluez que les informations sûres et nécessaires.
Résumé
De petites erreurs dans toString peuvent réduire considérablement l’efficacité du débogage ou provoquer des erreurs inattendues.
Gardez les points suivants à l’esprit :
- N’oubliez pas de surcharger toString lorsque c’est nécessaire
- Vérifiez toujours la nullité avant d’appeler toString
- Évitez les références circulaires et les sorties excessives
En étant conscient de ces problèmes courants, le développement Java devient beaucoup plus fluide et fiable.
7. Différences entre toString et valueOf, et comment les utiliser correctement
En apprenant Java, vous rencontrerez également une autre méthode au nom similaire : « valueOf ».
Comme les deux méthodes servent à convertir des objets ou des valeurs en chaînes, il est facile de les confondre.
Cependant, leurs rôles et cas d’utilisation appropriés diffèrent.
Cette section compare les deux méthodes et explique comment choisir la bonne.
Comparaison : toString vs. valueOf
| toString() | valueOf() | |
|---|---|---|
| Defined In | Instance method of the Object class | Usually a static method of the String class |
| How to Call | obj.toString() | String.valueOf(obj) |
| Return Value | A string that represents the content of the object | A string created by converting the argument to type String |
| Behavior When Argument Is null | Throws NullPointerException | Returns the string « null » |
| Main Use Cases | Displaying object contents; debugging | Safely converting any value (including null) to a string |
Quand utiliser toString
- Lorsque vous souhaitez afficher l’état des objets dans un format lisible par l’homme
- Lors de la vérification du contenu d’un objet pendant le débogage ou la journalisation
- Lors de la personnalisation de la sortie pour votre propre classe (en surchargeant)
Quand utiliser valueOf
- Lorsque vous voulez convertir n’importe quelle valeur ou objet en String
- Lorsque vous souhaitez éviter les exceptions même si la valeur peut être null
- Lors de la préparation de valeurs pour l’affichage ou la journalisation où la sécurité face aux nulls est requise
Object obj = null; System.out.println(String.valueOf(obj)); // Output: "null" System.out.println(obj.toString()); // NullPointerException
Cas d’utilisation pratiques
- Utilisez toString lorsque vous désirez des informations claires et personnalisées d’une classe
- Utilisez String.valueOf pour convertir n’importe quoi en chaîne en toute sécurité, y compris null
Notes supplémentaires
Pour les types primitifs, toString et valueOf renvoient des résultats similaires.
Cependant, lorsqu’il y a une possibilité que l’argument soit null, String.valueOf est le choix le plus sûr.
8. Modèles d’utilisation pratiques de toString
En implémentant correctement la méthode toString, vous pouvez tirer de nombreux avantages dans le développement quotidien et le fonctionnement du système.
Cette section présente des cas d’utilisation réels courants et les meilleures pratiques pour le développement en équipe.
Débogage et sortie des journaux
La méthode toString est extrêmement précieuse lors du débogage ou de la génération de journaux pendant le développement et les opérations en production.
Par exemple, lorsqu’une exception se produit ou que vous souhaitez suivre le flux d’exécution, afficher les détails d’un objet avec toString accélère grandement l’analyse des causes racines.
Product p = new Product("バナナ", 120, "果物");
System.out.println(p); // Product{name=バナナ, price=120, category=果物}
Lorsqu’il est combiné avec des frameworks de journalisation comme Log4j ou SLF4J, un toString surchargé produit des messages de journal beaucoup plus clairs.

Enregistrement de fichiers et intégration de systèmes externes
Lors de l’enregistrement de données dans des fichiers texte ou de l’envoi d’informations à d’autres systèmes via des API, vous pouvez convertir les données d’un objet en chaînes avec toString.
La sortie de toString peut également servir de base lors de la génération de représentations CSV ou JSON.
Utilisation dans l’UI (affichage à l’écran)
Dans les frameworks GUI Java comme Swing ou JavaFX, la méthode toString est fréquemment utilisée lors de l’affichage d’objets dans des listes ou des tableaux.
La valeur de retour de toString devient souvent la représentation directe affichée dans les éléments de liste ou les cellules de tableau.
DefaultListModel<Product> model = new DefaultListModel<>();
model.addElement(new Product("みかん", 100, "果物"));
// When the model is set to a JList or JTable, the toString output is used as the display text.
Meilleures pratiques pour le développement en équipe
- Établir des règles de formatage unifiées pour
toStringau sein de l’équipe. Cela améliore la lisibilité et la cohérence des journaux et de la sortie de débogage. - Définir des directives telles que résumer les structures de données volumineuses et exclure les informations sensibles.
Lorsqu’elle est utilisée efficacement, la méthode toString améliore considérablement la vitesse de développement et la maintenabilité du code.
9. Informations spécifiques à la version et avancées
La méthode toString fait partie de Java depuis ses toutes premières versions, et son comportement de base n’a pas changé de manière significative d’une version à l’autre.
Cependant, les améliorations des fonctionnalités du langage et des styles de codage ont influencé la façon dont les développeurs implémentent et utilisent toString.
Cette section couvre les notes liées aux versions ainsi que des exemples d’application modernes.
Différences selon les versions de Java
- Le comportement de base de
toStringreste cohérent Depuis Java 1.0, la méthodetoStringde la classeObjectsuit le même format : « ClassName@HashCode ».
Redéfinir et utilisertoStringa essentiellement été le même sur toutes les versions de Java. - Notes clés
- Le comportement de
toStringlui‑même ne change pas avec les mises à jour de version de Java. - Certaines bibliothèques et frameworks tiers ont introduit des fonctionnalités pour personnaliser la sortie de
toString(par ex. l’annotation@ToStringde Lombok).
Styles de codage modernes et exemples d’application
- Classes record (Java 16 et ultérieur) Avec l’introduction des records en Java 16, les simples transporteurs de données génèrent automatiquement une implémentation lisible de
toString.public record Book(String title, int price) {} Book book = new Book("Java入門", 2500); System.out.println(book); // Book[title=Java入門, price=2500]
- Implémentation automatique avec Lombok Lombok permet de générer automatiquement la sortie de
toStringsimplement en ajoutant l’annotation@ToString.
Ceci est particulièrement utile dans les grands projets où l’implémentation manuelle devient chronophage.import lombok.ToString; @ToString public class Item { private String name; private int price; }
Résumé
Bien que le comportement fondamental de toString soit cohérent d’une version de Java à l’autre, les fonctionnalités modernes et les bibliothèques aident les développeurs à l’implémenter de façon plus efficace et sécurisée.
Choisissez le style d’implémentation approprié en fonction des exigences de votre projet et des directives de codage de votre équipe.
10. Résumé et sujets connexes recommandés
La méthode toString est une technique fondamentale en programmation Java, utilisée pour représenter le contenu d’un objet sous une forme lisible par l’homme.
Comme l’implémentation par défaut ne fournit pas suffisamment d’informations utiles, la redéfinir—lorsque cela est pertinent—améliore considérablement l’efficacité du développement et la productivité du débogage.
Cet article a couvert la structure de toString, comment l’implémenter, les erreurs courantes et les conseils de dépannage, ainsi que les différences entre toString et valueOf et les modèles d’utilisation pratiques.
Avec le code d’exemple et les recommandations fournis, même les débutants peuvent implémenter en toute confiance des méthodes toString efficaces.
Points clés à retenir
toStringprovient de la classeObjectet sert à afficher les informations d’un objet de façon lisible.- L’implémentation par défaut n’est pas pratique ; les classes personnalisées devraient la redéfinir pour plus de clarté.
- Gérez soigneusement les valeurs null, les références circulaires et les données sensibles lors de l’implémentation.
- Comprendre comment différencier
toStringdevalueOfpermet d’écrire du code plus flexible et robuste.
Sujets connexes recommandés
- Meilleures pratiques pour l’utilisation de
equalsethashCodeen Java - Gestion efficace des chaînes avec
StringBuilderetStringBuffer - Techniques de débogage pratiques avec les outils IDE (Eclipse, IntelliJ, etc.)
- Gestion des erreurs en Java (
try‑catch‑finally) et pièges courants - Utilisation de bibliothèques utiles comme Lombok pour réduire le code boilerplate
Pour approfondir davantage votre compréhension, explorez les sujets ci‑dessus.
Vous y trouverez des astuces utiles qui vous aideront à rendre votre développement Java plus efficace, propre et productif.
11. FAQ (Foire aux questions)
Cette section répond aux questions courantes concernant la méthode toString de Java — dont beaucoup apparaissent fréquemment dans les suggestions de recherche.
Utilisez cette référence chaque fois que vous avez un doute ou que vous rencontrez un problème lié.
Q1. Dois‑je toujours surcharger toString ?
R1.
Ce n’est pas obligatoire, mais pour les classes personnalisées où vous devez inspecter le contenu des objets ou déboguer leur comportement, il est fortement recommandé de le surcharger.
L’implémentation par défaut n’affiche que « NomDeClasse@HashCode », ce qui apporte peu de valeur pratique.
Q2. Quelle est la différence entre valueOf et toString ?
R2.
toString est une méthode d’instance qui renvoie une chaîne représentant le contenu de l’objet.
valueOf est généralement une méthode statique de la classe String qui convertit n’importe quelle valeur ou objet en String.
La différence principale réside dans la gestion du null :
toString→ lanceNullPointerExceptionvalueOf→ renvoie la chaîne littérale « null »
Q3. Quelles informations devrais‑je inclure dans toString ?
R3.
Incluez les caractéristiques ou les champs principaux qui permettent d’identifier cet objet.
Évitez d’afficher les mots de passe, les données personnelles ou toute autre information sensible.
Q4. À quoi faut‑il faire attention lors de l’implémentation de toString ?
R4.
- Vérifier les valeurs
nullle cas échéant - Faire attention à la récursion infinie causée par des références circulaires
- Résumer les données volumineuses ou complexes au lieu d’afficher tout
- Être conscient des problèmes de sécurité et de confidentialité
Q5. Est‑il sûr d’exposer la sortie de toString surchargée à l’extérieur ?
R5.
Cela dépend du contenu.
Les journaux et les rapports d’erreur peuvent être accessibles en dehors de votre système, il ne faut donc jamais inclure d’informations sensibles ou confidentielles dans la sortie de toString.
Q6. Comment implémenter toString pour des classes récursives ou hiérarchiques ?
R6.
Les structures circulaires — comme les relations parent‑enfant ou les liens bidirectionnels — peuvent entraîner une récursion infinie et provoquer un StackOverflowError.
Des solutions efficaces incluent :
- N’afficher que les identifiants ou les champs essentiels
- Limiter la profondeur de récursion
- Représenter les objets imbriqués avec des espaces réservés (par ex. « […] »)
Q7. Puis‑je vérifier la sortie de toString dans les débogueurs d’IDE ?
R7.
Oui. La plupart des IDE (Eclipse, IntelliJ, etc.) affichent automatiquement les résultats de toString lors de l’inspection des objets en mode débogage.
Personnaliser toString améliore grandement l’efficacité du débogage.
La méthode toString peut sembler simple, mais son utilisation correcte améliore considérablement la productivité et la qualité du code en Java.
Revenez à cette FAQ chaque fois que vous avez besoin de clarté ou d’un rappel rapide.
12. Diagrammes et tableaux comparatifs
Comprendre les différences entre les méthodes toString et valueOf, ainsi que le contraste entre les sorties surchargées et non surchargées, peut être difficile à partir du texte seul.
Cette section résume les points clés à l’aide de diagrammes et de tableaux comparatifs pour vous aider à saisir visuellement les concepts.
[1] Comparison: toString vs. valueOf
| Item | toString() (Instance Method) | String.valueOf() (Static Method) |
|---|---|---|
| Defined In | Object class | String class |
| How to Call | obj.toString() | String.valueOf(obj) |
| Handling of null | Throws NullPointerException | Returns the string « null » |
| Overriding | Recommended for custom classes | Not necessary (works with any type) |
| Main Usage | Displaying object contents; debugging | Safe and universal conversion to String |
| Customizability | High (fully customizable) | Low (fixed standard behavior) |
[2] Output Difference Before and After Overriding toString (Diagram)
[Before Override]
Product@3e3abc88
↑
(Only displays ClassName@HashCode)
[After Override]
Product{name=りんご, price=150, category=果物}
↑
(Displays meaningful field information!)
[3] Auto Invocation of toString (Concept Illustration)
Product p = new Product("りんご", 150, "果物");
System.out.println(p);
// ↑ Automatically calls p.toString()
String text = "Product: " + p;
// ↑ Also automatically calls p.toString()
[4] Example of toString in Recursive Structures
class Node {
Node child;
@Override
public String toString() {
// Calling child.toString() directly may cause infinite recursion
return "Node{" + "child=" + (child != null ? "[...]" : "null") + "}";
}
}
*Pour les structures de classes récursives, il est essentiel d’éviter les références circulaires et les boucles infinies.
Cette collection de diagrammes et de tableaux aide à visualiser le fonctionnement de la méthode toString, ses avantages, ainsi que les points clés nécessitant une attention particulière.
Utilisez ces références visuelles pour concevoir des applications Java plus claires et plus maintenables.


