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.
- Postman là gì? API Testing với Postman
- Samsung Galaxy S10+ Ceramic White “quái vật” với vẻ đẹp tinh khôi
- Khám Phá Ngay 4 Địa Điểm Bán Motor Giảm Tốc Cũ Hà Nội Uy Tín
- Đánh giá tổng quan Pantech Sky A900 (Vega Secret Up) – Di Động Thông Minh
- 5 phần mềm diệt virus free hiệu qủa nhất năm 2014
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 : Tải Phần Mềm Diệt Virus Avast Internet Security 2015 Miễn Phí
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 : Senior Developer là gì? Những điều thú vị về Senior Developer
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ệ