logo

Metoda Java toString().

Jeśli chcesz reprezentować dowolny obiekt jako ciąg znaków, metoda toString(). powstaje.

Metoda toString() zwraca reprezentację obiektu typu String.

Jeśli wydrukujesz dowolny obiekt, kompilator Java wewnętrznie wywołuje metodę toString() na obiekcie. Zatem zastąpienie metody toString() zwraca żądany wynik, może to być stan obiektu itp., w zależności od implementacji.

Zaleta metody Java toString().

Zastępując metodę toString() klasy Object, możemy zwrócić wartości obiektu, dzięki czemu nie musimy pisać dużo kodu.

Zrozumienie problemu bez metody toString().

Zobaczmy prosty kod, który wypisuje referencję.

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

Wyjście:

 Student@1fee6fc Student@1eed786 

Jak widać w powyższym przykładzie, drukowanie s1 i s2 powoduje wyświetlenie wartości hashcode obiektów, ale ja chcę wydrukować wartości tych obiektów. Ponieważ kompilator Java wewnętrznie wywołuje metodę toString(), zastąpienie tej metody zwróci określone wartości. Rozumiemy to na przykładzie podanym poniżej:

Przykład metody Java toString().

Zobaczmy przykład metody 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() } } 

Wyjście:

 101 Raj lucknow 102 Vijay ghaziabad 

W powyższym programie kompilator Java wywołuje wewnętrznie funkcję doString() metody, zastąpienie tej metody zwróci określone wartości s1 I s2 obiekty klasy Student.