Hvis du vil repræsentere et objekt som en streng, toString() metode kommer til at eksistere.
Metoden toString() returnerer String-repræsentationen af objektet.
Hvis du udskriver et objekt, aktiverer Java-kompileren internt toString()-metoden på objektet. Så tilsidesættelse af toString()-metoden returnerer det ønskede output, det kan være et objekts tilstand osv. afhængigt af din implementering.
Fordel ved Java toString()-metoden
Ved at tilsidesætte toString()-metoden i Object-klassen, kan vi returnere værdier af objektet, så vi behøver ikke at skrive meget kode.
Forstå problemet uden toString()-metoden
Lad os se den enkle kode, der udskriver reference.
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() } }
Produktion:
Student@1fee6fc Student@1eed786
Som du kan se i ovenstående eksempel, udskriver udskrivning s1 og s2 objekternes hashkodeværdier, men jeg vil udskrive værdierne for disse objekter. Da Java-kompiler internt kalder toString()-metoden, vil tilsidesættelse af denne metode returnere de angivne værdier. Lad os forstå det med eksemplet nedenfor:
Eksempel på Java toString()-metoden
Lad os 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() } }
Produktion:
101 Raj lucknow 102 Vijay ghaziabad
I ovenstående program kalder Java compiler internt toString() metode, vil tilsidesættelse af denne metode returnere de angivne værdier af s1 og s2 genstande i elevklassen.