บางครั้งในการเขียนโปรแกรมซึ่งเรามีความจำเป็นต้องสร้าง java class ขึ้นมาเพื่อเป็นที่พักข้อมูลที่เป็น Object เช่น Bean ต่างๆ ซึ่งใน class java จะมี method สำหรับ get,set สำหรับกำหนดค่าและนำค่าไปใช้ ดังนี้ เรามีความจำเป็นต้องการรู้ค่าต่างๆใน java class นั้นๆ โดยใช้ method toString() ซึ่งในตัวอย่างเป็น code Override toString โดยไม่ต้องไปสนใจว่าเรามีจำนวน Field หรือ attribute ใน class มากขนาดไหน โดยเขียน code ได้ดังนี้
public class testBean{
private String id;
private String name;
.....
getXX,setXX
....
@Override
Class cl = this.getClass();
StringBuilder buffer = new StringBuilder();
for (Field field : cl.getDeclaredFields()) {
try {
buffer.append(" ");
buffer.append(field.getName());
buffer.append(":");
buffer.append(field.get(this));
} catch (IllegalArgumentException ex) {
ex.fillInStackTrace();
} catch (IllegalAccessException ex) {
ex.printStackTrace();
}
}
return buffer.toString();
}
}
จะเห็นว่า method toString จะเป็นการ วนวูบ get ชื่อ attribute และ value มาใส่ StringBuffer เพื่อแสดงข้อมูล ซึ่งสามารถนำเอาไปใช้ประโยชน์ทั้งการดู data ,print out console,debug ต่างๆ เป็นต้น
ไม่มีความคิดเห็น:
แสดงความคิดเห็น