জাভাতে toString() মেথডের উদ্দেশ্য কী?
যদি আমরা একটি ক্লাসের অবজেক্টকে একটি স্ট্রিং হিসেবে উপস্থাপন করতে চাই, তবে আমরা toString() মেথড ব্যবহার করতে পারি যা অবজেক্টের একটি টেক্সটুয়াল রিপ্রেজেন্টেশন রিটার্ন করে।
আপনি যখন একটি অবজেক্ট প্রিন্ট করেন, ডিফল্টভাবে জাভা কম্পাইলার उस অবজেক্টের ওপর toString() মেথড আহ্বান করে। তাই toString() মেথড ওভাররাইড করে, আমরা অর্থবহ আউটপুট প্রদান করতে পারি।
এই ধারণাটি নিচের উদাহরণে দেখানো হলো:
toString() মেথড ওভাররাইড করা
package io.devqa.tutorials;
public class ToStringExample {
private String firstName;
private String lastName;
private String email;
public ToStringExample() { }
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; }
public String getEmail() { return email; }
public void setEmail(String email) { this.email = email; }
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("First name : ").append(this.firstName).append("\n");
sb.append("Last name : ").append(this.lastName).append("\n");
sb.append("Email : ").append(this.email).append("\n");
return sb.toString();
}
public static void main(String args[]) {
ToStringExample example = new ToStringExample();
example.setFirstName("Testing");
example.setLastName("Tester");
example.setEmail("testing@tester.com");
System.out.println(example);
}
}
উপরের কোড নিচের আউটপুট দেয়:
First name : Testing
Last name : Tester
Email : testing@tester.com
যদি আমরা toString() মেথড ওভাররাইড না করতাম, আউটপুট হতো:
io.devqa.tutorials.ToStringExample@60e53b93
দেখা যাচ্ছে, toString() মেথড ওভাররাইড করে, আমরা অবজেক্টের একটি অর্থবহ প্রেজেন্টেশন আউটপুট করতে পারি।