logo

Metodo Java toString()

Se vuoi rappresentare qualsiasi oggetto come una stringa, metodo toString() viene all'esistenza.

Il metodo toString() restituisce la rappresentazione String dell'oggetto.

Se stampi un oggetto, il compilatore Java richiama internamente il metodo toString() sull'oggetto. Quindi, sovrascrivendo il metodo toString(), restituisce l'output desiderato, può essere lo stato di un oggetto ecc. a seconda dell'implementazione.

Vantaggio del metodo Java toString()

Eseguendo l'override del metodo toString() della classe Object, possiamo restituire i valori dell'oggetto, quindi non abbiamo bisogno di scrivere molto codice.

Comprensione del problema senza il metodo toString()

Vediamo il semplice codice che stampa il riferimento.

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() } } 

Produzione:

 Student@1fee6fc Student@1eed786 

Come puoi vedere nell'esempio sopra, la stampa di s1 e s2 stampa i valori hashcode degli oggetti ma voglio stampare i valori di questi oggetti. Poiché il compilatore Java chiama internamente il metodo toString(), sovrascrivendo questo metodo verranno restituiti i valori specificati. Capiamolo con l'esempio riportato di seguito:

Esempio del metodo Java toString()

Vediamo un esempio del metodo 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() } } 

Produzione:

 101 Raj lucknow 102 Vijay ghaziabad 

Nel programma precedente, il compilatore Java chiama internamente accordare() metodo, sovrascrivendo questo metodo verranno restituiti i valori specificati di s1 E s2 oggetti della classe Studente.