Si vous souhaitez représenter n'importe quel objet sous forme de chaîne, Méthode toString() vient à l'existence.
La méthode toString() renvoie la représentation String de l'objet.
Si vous imprimez un objet, le compilateur Java appelle en interne la méthode toString() sur l'objet. Ainsi, en remplaçant la méthode toString(), renvoie le résultat souhaité, il peut s'agir de l'état d'un objet, etc. en fonction de votre implémentation.
Avantage de la méthode Java toString()
En remplaçant la méthode toString() de la classe Object, nous pouvons renvoyer les valeurs de l'objet, nous n'avons donc pas besoin d'écrire beaucoup de code.
Comprendre le problème sans la méthode toString()
Voyons le code simple qui imprime la référence.
Étudiant.java
class Student{ int rollno; String name; String city; Student(int rollno, String name, String city){ this.rollno=rollno; this.name=name; this.city=city; } public static void main(String args[]){ Student s1=new Student(101,'Raj','lucknow'); Student s2=new Student(102,'Vijay','ghaziabad'); System.out.println(s1);//compiler writes here s1.toString() System.out.println(s2);//compiler writes here s2.toString() } }
Sortir:
Student@1fee6fc Student@1eed786
Comme vous pouvez le voir dans l'exemple ci-dessus, l'impression de s1 et s2 imprime les valeurs de hashcode des objets mais je souhaite imprimer les valeurs de ces objets. Étant donné que le compilateur Java appelle en interne la méthode toString(), le remplacement de cette méthode renverra les valeurs spécifiées. Comprenons-le avec l'exemple donné ci-dessous :
Exemple de méthode Java toString()
Voyons un exemple de méthode toString().
Étudiant.java
class Student{ int rollno; String name; String city; Student(int rollno, String name, String city){ this.rollno=rollno; this.name=name; this.city=city; } public String toString(){//overriding the toString() method return rollno+' '+name+' '+city; } public static void main(String args[]){ Student s1=new Student(101,'Raj','lucknow'); Student s2=new Student(102,'Vijay','ghaziabad'); System.out.println(s1);//compiler writes here s1.toString() System.out.println(s2);//compiler writes here s2.toString() } }
Sortir:
101 Raj lucknow 102 Vijay ghaziabad
Dans le programme ci-dessus, le compilateur Java appelle en interne àChaîne() méthode, le remplacement de cette méthode renverra les valeurs spécifiées de s1 et s2 objets de la classe Étudiant.