در ادامه آموزشهای جاوا تیم کدگیت، این جلسه ما را با آموزش متد ()toString در جاوا همراهی کنید. ابتدا کاربرد متد toString را توضیح میدهیم سپس با چندین مثال واقعی توضیحات تکمیلی را ارائه میدهیم. پیشنهاد میکنیم قبل از مطالعه این جلسه، پیشنیازهای این آموزش را مطالعه کنید:
متد ()toString در جاوا
هر کلاسی در جاوا به صورت مستقیم یا غیر مستقیم فرزندی از کلاس object است. کلاس Object دارای یک متد به نام toString است. این متد برای نمایشی از شی میباشد به زبان سادهتر هر وقت ما میخواهیم یک شی را به صورت یک String نمایش دهیم از این متد استفاده میشود. هر گاه بخواهیم یک Reference از شی را چاپ کنیم متد toString صدا زده میشود.
اگر ما متد toString در کلاس خود پیاده سازی نکرده باشیم وقتی (Reference) یک شی را میخواهیم چاپ کنیم در این زمان متد toString کلاس Object صدا زده میشود (متد toString را میتوان override کرد).
مثال متد toString
یک کلاس به نام Student داریم که نام دانشجو و شماره دانشجویی را به عنوان ورودی در Constructor میگیرد. سپس از کلاس چندین شی ساخته و reference شیها را چاپ میکنیم. کد آن به صورت زیر میباشد:
public class Student {
String Name;
String ID;
public Student(String name, String iD) {
Name = name;
ID = iD;
}
public static void main(String[] args) {
Student s1 = new Student("Saeed", "CodeGate");
Student s2 = new Student("Ali", "CodeGate");
System.out.println(s1);
System.out.println(s2);
}
}
خروجی کد بالا به صورت زیر است:
Student@7852e922
Student@4e25154f
همانطور که میبینید خروجی یک مقدار بی معناست و برای ما ممکن است کاربردی نداشته باشد. ما برای این که هنگام چاپ شی خروجی مناسبی به ما بدهد متد toString را override میکنیم. کد آن به صورت زیر است:
public String toString() {
return "name: "+Name+" ID: "+ID;
خروجی کد به صورت زیر است:
name: Saeed ID: CodeGate
name: Ali ID: CodeGate
همانطور که میبینید خروجی ما مفهوم پیدا کرده است. در مثال اول کد ما متد toString از کلاس Object را صدا زده و در مثال دوم متد toString از کلاس Student صدا زده شد.
سورس کد برنامهها: