logo

Java toString() metodas

Jei norite pavaizduoti bet kurį objektą kaip eilutę, toString() metodas atsiranda.

Metodas toString() grąžina objekto eilutės atvaizdavimą.

dvigubai susietas sąrašas

Jei spausdinate bet kurį objektą, Java kompiliatorius viduje iškviečia objekto metodą toString(). Taigi, nepaisydami toString() metodo, grąžinama norima išvestis, tai gali būti objekto būsena ir pan., priklausomai nuo jūsų įgyvendinimo.

Java toString() metodo privalumas

Nepaisydami Object klasės metodo toString(), galime grąžinti objekto reikšmes, todėl nereikia daug kodo rašyti.

Problemos supratimas be toString() metodo

Pažiūrėkime paprastą kodą, kuris spausdina nuorodą.

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

Išvestis:

 Student@1fee6fc Student@1eed786 

Kaip matote aukščiau pateiktame pavyzdyje, spausdinant s1 ir s2 išspausdinamos objektų maišos kodų reikšmės, bet aš noriu atspausdinti šių objektų reikšmes. Kadangi „Java“ kompiliatorius viduje iškviečia metodą toString(), šio metodo nepaisymas grąžins nurodytas reikšmes. Supraskime tai toliau pateiktu pavyzdžiu:

Java toString() metodo pavyzdys

Pažiūrėkime toString() metodo pavyzdį.

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

Išvestis:

 101 Raj lucknow 102 Vijay ghaziabad 

Aukščiau pateiktoje programoje „Java“ kompiliatorius iškviečia iš vidaus toString() metodą, nepaisydami šio metodo, bus pateiktos nurodytos reikšmės s1 ir s2 Studentų klasės objektai.

pareiškimo aprėptis