Ako želite prikazati bilo koji objekt kao niz, toString() metoda dolazi u postojanje.
Metoda toString() vraća String reprezentaciju objekta.
Ako ispisujete bilo koji objekt, Java prevoditelj interno poziva metodu toString() na objektu. Dakle, nadjačavanje metode toString() vraća željeni izlaz, to može biti stanje objekta itd., ovisno o vašoj implementaciji.
osi referentni model u umrežavanju
Prednost Java metode toString().
Nadjačavanjem metode toString() klase Object možemo vratiti vrijednosti objekta, tako da ne moramo pisati puno koda.
Razumijevanje problema bez metode toString().
Pogledajmo jednostavan kod koji ispisuje referencu.
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() } }
Izlaz:
java system.out.println
Student@1fee6fc Student@1eed786
Kao što možete vidjeti u gornjem primjeru, ispis s1 i s2 ispisuje vrijednosti hashcodea objekata, ali ja želim ispisati vrijednosti tih objekata. Budući da Java prevoditelj interno poziva metodu toString(), nadjačavanje ove metode će vratiti navedene vrijednosti. Shvatimo to na primjeru u nastavku:
Primjer Java metode toString().
Pogledajmo primjer toString() metode.
Student.java
konstruktor u Javi
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() } }
Izlaz:
101 Raj lucknow 102 Vijay ghaziabad
U gornjem programu, Java kompajler interno poziva toString() metoda, nadjačavanje ove metode vratit će navedene vrijednosti s1 i s2 objekti Studentskog razreda.