Nếu bạn muốn biễu diễn trạng thái của 1 object dưới dạng String, đó là lý do java cung cấp toString() method.
- God of war chains of olympus PPSSPP Zip file Download for Android
- Hướng dẫn cách push code lên git chi tiết, đơn giản
- Cách cấu hình NTP Server và NTP Client trong Windows Server 2019
- 8 bàn phím gấp gọn cho góc làm việc gọn gàng, mang ra quán cà phê dùng cũng tiện
- Dataset là gì? Tất tần tật về Dataset mới nhất 2021 mà bạn cần biết
Khi chúng ta muốn in hoặc ghi một đối tượng, Java compiler sẽ ngầm gọi toString() method trong Object class. Lưu ý rằng tất cả các class trong java đều là con của Object class.
Bạn đang xem: Biễn diễn trạng thái object qua toString() Java method
toString() method mặc định được định nghĩa trong Object class
public String toString() { return getClass().getName()+”@”+Integer.toHexString(hashCode()); }
Ví dụ
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); System.out.println(s1.toString()); System.out.println(s2); System.out.println(s2.toString()); } }
Output:
Xem thêm : Nền tảng website là gì – Các nền tảng web phổ biến nhất hiện nay
Student@1b6d3586Student@1b6d3586Student@4554617cStudent@4554617c
Override toString()
Kết quả của ví dụ trên thật sự làm mình rất hoang mang và không hiểu gì hết đó là do implement mặc định của Object như vậy.
Để biễu diễn object có ý nghĩa hơn, chúng ta có thể override toString() và xuất các thông tin có ý nghĩa hơn như là xuất giá trị của tất cả các thuộc tính etc.
Ví dụ override toString() xuất giá trị của tất cả các thuộc tính của Student object.
class Student{ int rollno; String name; String city; Student(int rollno, String name, String city){ this.rollno=rollno; this.name=name; this.city=city; } @Override public String toString() { return “Student{” + “rollno=” + rollno + “, name='” + name + ”’ + “, 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); System.out.println(s1.toString()); System.out.println(s2); System.out.println(s2.toString()); } }
Output:
Student{rollno=101, name=’Raj’, city=’lucknow’}Student{rollno=101, name=’Raj’, city=’lucknow’}Student{rollno=102, name=’Vijay’, city=’ghaziabad’}Student{rollno=102, name=’Vijay’, city=’ghaziabad’}
Override toString() trong IntelliJ
Xem thêm : 3 Types of Cross-Site Scripting (XSS) Attacks
Như ví dụ trên thì mình không cần phải viết lại hàm toString() để xuất tất cả các thông tin của Student object đâu, mà các IDE hiện tại đã hỗ trợ tính năng này.
Để generate toString() method trong IntelliJ chúng ta có các bước sau:
1. Menu | Code | Generate Hoặc Alt + insert (windows)
Giao diện hiện thị chọn các method cần generate, tiếp theo chọn toString().
Chọn các thuộc tính muốn hiện thị trong toString() | OK
Tóm lược
toString() method sẽ hữu ích trong trường hợp chúng ta muốn hiển thị thông tin cần thiết của một object thay vì thấy những dòng loằng ngoằng khó hiểu mà toString() Object class định nghĩa.
Vì đây là những hàm phổ biến nên hầu hết các IDE đều hỗ trợ như IntelliJ, Eclipse, Netbean etc. Cách làm cũng giống như trên nên các bạn có thể xem hướng tiếp cận của IntellIJ mình đã trình bày để áp dụng cho IDE bạn đang sử dụng.
Nguồn: https://sigma.edu.vn
Danh mục: Công Nghệ