logo

Java toString() metódus

Ha bármilyen objektumot karakterláncként szeretne ábrázolni, toString() metódus létrejön.

A toString() metódus az objektum String reprezentációját adja vissza.

Ha bármilyen objektumot nyomtat, a Java fordító belsőleg meghívja a toString() metódust az objektumon. Tehát a toString() metódus felülbírálása a kívánt kimenetet adja vissza, ez lehet egy objektum állapota stb. a megvalósítástól függően.

A Java toString() metódus előnye

Az Object osztály toString() metódusának felülbírálásával visszaadhatjuk az objektum értékeit, így nem kell sok kódot írnunk.

A probléma megértése toString() metódus nélkül

Lássuk az egyszerű kódot, amely hivatkozást nyomtat.

Diák.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() } } 

Kimenet:

 Student@1fee6fc Student@1eed786 

Ahogy a fenti példában is látható, az s1 és s2 nyomtatása kiírja az objektumok hashcode értékeit, de én ki szeretném nyomtatni ezen objektumok értékeit. Mivel a Java fordító belsőleg meghívja a toString() metódust, a metódus felülbírálása a megadott értékeket adja vissza. Értsük meg az alábbi példával:

Példa a Java toString() metódusra

Nézzünk egy példát a toString() metódusra.

Diák.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() } } 

Kimenet:

 101 Raj lucknow 102 Vijay ghaziabad 

A fenti programban a Java fordító belső hívást hajt végre toString() metódus, a metódus felülbírálása a megadott értékeket adja vissza s1 és s2 a tanulói osztály tárgyai.

do és while ciklus java-ban