Hvis du vil representere et objekt som en streng, toString()-metoden kommer til.
Metoden toString() returnerer String-representasjonen av objektet.
Hvis du skriver ut et objekt, aktiverer Java-kompilatoren internt toString()-metoden på objektet. Så å overstyre toString()-metoden, returnerer ønsket utgang, det kan være tilstanden til et objekt osv. avhengig av implementeringen din.
Fordel med Java toString()-metoden
Ved å overstyre toString()-metoden til Object-klassen, kan vi returnere verdier til objektet, slik at vi ikke trenger å skrive mye kode.
Forstå problemet uten toString()-metoden
La oss se den enkle koden som skriver ut referanse.
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() } }
Produksjon:
Student@1fee6fc Student@1eed786
Som du kan se i eksemplet ovenfor, skriver utskrift av s1 og s2 ut hashkodeverdiene til objektene, men jeg vil skrive ut verdiene til disse objektene. Siden Java-kompilatoren kaller toString()-metoden internt, vil overstyring av denne metoden returnere de angitte verdiene. La oss forstå det med eksemplet nedenfor:
Eksempel på Java toString()-metoden
La oss se et eksempel på toString()-metoden.
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() } }
Produksjon:
101 Raj lucknow 102 Vijay ghaziabad
I programmet ovenfor kaller Java-kompilatoren internt toString() metode, vil overstyre denne metoden returnere de spesifiserte verdiene av s1 og s2 objekter fra studentklassen.