Mục đích của method toString() trong Java là gì?
Nếu muốn biểu diễn đối tượng của một class dưới dạng String, ta dùng method toString() trả về biểu diễn văn bản của đối tượng.
Khi in một đối tượng, Java compiler mặc định gọi toString() trên đối tượng đó. Bằng cách override toString(), ta có thể cung cấp output có ý nghĩa.
Override phương thức 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; }
@Override
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);
}
}
Kết quả:
First name: Testing
Last name: Tester
Email: testing@tester.com
Nếu không override toString(), kết quả sẽ là:
io.devqa.tutorials.ToStringExample@60e53b93
Như thấy, override toString() cho phép xuất biểu diễn có ý nghĩa của đối tượng.