Pokud chcete jakýkoli objekt reprezentovat jako řetězec, metoda toString(). vzniká.
Metoda toString() vrací String reprezentaci objektu.
Pokud tisknete jakýkoli objekt, kompilátor Java interně vyvolá na objektu metodu toString(). Takže přepsání metody toString() vrátí požadovaný výstup, může to být stav objektu atd. v závislosti na vaší implementaci.
Výhoda Java toString() metody
Přepsáním metody toString() třídy Object můžeme vrátit hodnoty objektu, takže nepotřebujeme psát mnoho kódu.
Pochopení problému bez metody toString().
Podívejme se na jednoduchý kód, který vytiskne odkaz.
programování stdin c
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() } }
Výstup:
Student@1fee6fc Student@1eed786
Jak můžete vidět ve výše uvedeném příkladu, tisk s1 a s2 vytiskne hodnoty hashcode objektů, ale já chci vytisknout hodnoty těchto objektů. Protože kompilátor Java interně volá metodu toString(), přepsání této metody vrátí zadané hodnoty. Pojďme to pochopit na příkladu uvedeném níže:
Příklad metody Java toString().
Podívejme se na příklad metody toString().
binární strom procházení zásilkového obchodu
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() } }
Výstup:
101 Raj lucknow 102 Vijay ghaziabad
Ve výše uvedeném programu interně volá kompilátor Java toString() metoda, přepsání této metody vrátí zadané hodnoty s1 a s2 objekty třídy Student.