معرفی کامل متد toString در جاوا


معرفی کامل متد toString در کلاس‌ها
براي خريد اين درس نياز است وارد سايت شويد. در صورت نداشتن حساب کاربري عضو شويد.

آموزش متد toString در جاوا

در جلسات قبل با نحوه کار با نرم افزار IntelliJ IDEA آشنا شدیم. در این جلسه می‌خواهیم نحوه کار با تابع toString() را یاد می‌گیریم.

برای شروع یک کلاس به نام Person می‌سازیم و کد های زیر را درون آن قرار می‌دهیم.

public class Person {

    private int personId;

    private String firstName;

    private String lastName;

{

برای ساخت تابع سازنده در محیط IntelliJ IDEA می توانید کلیک راست کنید و گزینه Generate را بزنید و یا کلید هایAlit + Insert را بزنید. در پنچره باز شده گزینه Constructor را انتخاب کنید.

سپس در پنچره باز شده فیلد‌های مد نظر را انتخاب کنید و روی Ok کلیک کنید.

ساخت توابع

برای ساخت توابع Getter و Setter نیز می توایند با زدن کلید های Alt + Insert در پنجره Generate گزینه Getter and Setter را انتخاب کنید و در پنچره باز شده فیلد‌های مد نظر را انتخاب و گزینه Ok را کلیک کنید.

کدهای کلاس Person

public class Person {

    private int personId;

    private String firstName;

    private String lastName;


    public Person(int personId, String firstName, String lastName) {

        this.personId = personId;

        this.firstName = firstName;

        this.lastName = lastName;

    }


    public int getPersonId() {

        return personId;

    }


    public void setPersonId(int personId) {

        this.personId = personId;

    }


    public String getFirstName() {

        return firstName;

    }


    public void setFirstName(String firstName) {

        this.firstName = firstName;

    }


    public String getLastName() {

        return lastName;

    }


    public void setLastName(String lastName) {

        this.lastName = lastName;

    }

}

در ادامه یک شی از کلاس Person را در کلاس Main تعریف می‌کنیم و تابع toString() مربوط به Person را صدا می‌زنیم.

public class MainClass {

    public static void main(String[] args) {

        Person person1=new Person(1,"mehdi","abbasi");

        System.out.println(person1.toString());

        System.out.println(person1);

    {

{

نکته: به صورت پیش فرض با صدا زدن شی از کلاس، متد toString() آن صدا زده می شود. اگر متد toString() را ننویسیم نیز خروجی یکسان است.

خروجی کد بالا به صورت نام پکیچ و کلاس و یک آیدی هش شده نمایش داده می‌شود.

com.darsman.Person@1b6d3586

com.darsman.Person@1b6d3586

خروجی که مشاهده می‌کنید آن چیزی که می‌خواهیم نیست. برای رفع این مشکل که به جای کد هش شده اطلاعات person1 نمایش داده شود باید متد toString() را درون کلاس Person باز نویسی کنیم.

 وارد کلاس Person می‌شویم و تابع toString() را باز نویسی می‌کنیم.

خروجی تابع toString() یک رشته است. هر مقداری دورن آن بگذارید با صدا زدن تابع toString() نمایش داده خواهد شد.

 @Override

    public String toString() {

        return personId +" "+ firstName +" "+lastName;

    }

حال خروجی کلاس main به صورت زیر است:

1 mehdi abbasi

1 mehdi abbasi

متد toString() را نرم افزار intelliJ IDEA می‌توانید سریع‌تر پیاده سازی کند، با زدن کلید alt + insert از پنجره Generate گزینه toString() را انتخاب کنید. و سپس در پنجره باز شده فیلد هایی که می‌خواهید در تابع toString() نمایش داده شود را انتخاب کنید.

@Override

    public String toString() {

        return "Person{" +

                "personId=" + personId +

                ", firstName='" + firstName + '\'' +

                ", lastName='" + lastName + '\'' +

                '}';

    }

همانطور که در بالا مشاهده می‌کنید فیلدهای کلاس را به شکلی مشابه ساختار Json می‌سازد(در رابطه با ساختار Json در ادامه دوره بیشتر آشنا می‌شویم).

 

 

سپاسگزاریم که همراه ما هستید

امیدواریم که این آموزش مورد توجه شما دوستان عزیز قرار گرفته باشد و بتواند شما را در راه رسیدن به اهدافتان کمک کند. برای دسترسی بیشتر به جلسات آموزش جاوا پیشرفته کلیک کنید.

دوستان عزیز خوشحال می‌شویم هر گونه پیشنهاد یا انتقادی در این زمینه بود برای ما در قسمت نظرات برای ما ارسال کنید.

 

نظرات
کاربر درسمن
هامون

سلام خسته نباشید ممنون بابت آموزش خوبتون تو دوره مقدماتی برای هر آموزش توضیحاتی به صورت متنی ارائه شده و این توضیح متنی به شخصه برای من خیلی مفید بود. ولی برای دوره پیشرفته این توضیحات وجود نداره. امکانش هست این توضیحات متنی به هر آموزش اضافه بشه.

پشتیبانی 1
پشتیبانی 1

سلام هامون جان، بله حتما در اولین فرصت برایتان این محتوا ها را آماده و درج خواهیم کرد. ممنون از پیگیریتون و همراهیتون.


نظر بدهید نظر شما در تصمیم دیگران اثرگذار است. لطفا برای ما و همراهان درسمن نظر خود را بنویسید.
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.


مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات : جلسه
مدت زمان : 2057 دقیقه
حجم دوره : 6/35 گیگابایت
سطح مهارت : پیشرفته
وضعیت دوره : پایان یافته
تعداد دانشجویان : 1064
: میانگین امتیاز
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و ....