Dacă doriți să reprezentați orice obiect ca șir, metoda toString(). vine în existență.
Metoda toString() returnează reprezentarea String a obiectului.
Dacă imprimați orice obiect, compilatorul Java invocă în mod intern metoda toString() pe obiect. Deci, suprascriind metoda toString(), returnează rezultatul dorit, poate fi starea unui obiect etc., în funcție de implementarea dvs.
Avantajul metodei Java toString().
Prin suprascrierea metodei toString() a clasei Object, putem returna valorile obiectului, deci nu trebuie să scriem mult cod.
Înțelegerea problemei fără metoda toString().
Să vedem codul simplu care imprimă referința.
Student.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() } }
Ieșire:
Student@1fee6fc Student@1eed786
După cum puteți vedea în exemplul de mai sus, prin imprimarea s1 și s2 se tipăresc valorile hashcode ale obiectelor, dar vreau să imprim valorile acestor obiecte. Deoarece compilatorul Java apelează intern metoda toString(), suprascrierea acestei metode va returna valorile specificate. Să-l înțelegem cu exemplul de mai jos:
Exemplu de metodă Java toString().
Să vedem un exemplu de metodă toString().
Student.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() } }
Ieșire:
101 Raj lucknow 102 Vijay ghaziabad
În programul de mai sus, compilatorul Java apelează intern toString() metoda, suprascriind această metodă va returna valorile specificate ale s1 și s2 obiectele clasei Student.