logo

Java toString() Метод

Ако искате да представите който и да е обект като низ, toString() метод възниква.

Методът toString() връща String представянето на обекта.

Ако отпечатате някакъв обект, Java компилаторът вътрешно извиква метода toString() на обекта. Така че замяната на метода toString() връща желания резултат, това може да бъде състоянието на обект и т.н. в зависимост от вашата реализация.

Предимство на метода Java toString().

Като заменим метода toString() на класа Object, можем да върнем стойности на обекта, така че не е необходимо да пишем много код.

Разбиране на проблема без метод toString().

Нека видим простия код, който отпечатва справка.

Студент.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() } } 

Изход:

 Student@1fee6fc Student@1eed786 

Както можете да видите в горния пример, отпечатването на s1 и s2 отпечатва стойностите на хеш кода на обектите, но аз искам да отпечатам стойностите на тези обекти. Тъй като компилаторът на Java вътрешно извиква метода toString(), замяната на този метод ще върне посочените стойности. Нека го разберем с примера, даден по-долу:

Пример за метод Java toString().

Нека да видим пример за метод toString().

Студент.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() } } 

Изход:

 101 Raj lucknow 102 Vijay ghaziabad 

В горната програма компилаторът на Java вътрешно извиква toString() метод, замяната на този метод ще върне посочените стойности на s1 и s2 обекти на Студентски клас.