Page 27 - การโปรแกรมคอมพิวเตอร์ขั้นสูง
P. 27
สตริงบิวเดอร์ 2-17
บรรทัดท ี่ 5 ใช้เมธอด capacity() แสดงขนาดค วามจุข อง ออ บเจ็กต์ strBu1 ซึ่งขนาดความจ ุปกติ คือ
บรรทัดท ี่ 6 16 ช่อง แม้ว่าข ้อมูลจ ะมีข นาดน้อยกว่าก็ตาม
บรรทัดท ี่ 7 ใช้เมธอด length() แสดงขนาดของข้อมูลที่จัดเก็บอยู่ภายในออบเจ็กต์ strBu1 ซึ่งขนาด
บรรทัดที่ 8 ข้อมูลเท่ากับ 4
บรรทัดที่ 9 ใช้เมธอด trimToSize() เพื่อล ดข นาดค วามจ ุข อง ออ บเจ็กต์ strBu1 ให้ม ีข นาดเท่ากับข นาด
ของข ้อมูลจ ริงที่จ ัดเก็บอ ยู่ภายในออบเจ็กต์ ซึ่งข นาดของข้อมูลเท่ากับ 4
ใช้เมธอด capacity() เพื่อแสดงขนาดความจุของออบเจ็กต์ strBu1 ซึ่งเป็นขนาดความจุ
ที่ทำ�การล ดข นาดค วามจุลงให้เท่ากับขนาดของข ้อมูลจริงที่จัดเก็บแล้ว
ใช้เมธอด length() แสดงขนาดของข้อมูลที่จัดเก็บอยู่ภายในออบเจ็กต์ strBu1 ซึ่งขนาด
ของข้อมูลยังค งเท่าเดิมไม่ได้ม ีการเปลี่ยนแปลงใด ๆ
ผลก ารท �ำ งานของโปรแกรม
ผลท ี่ได้จากการทำ�งานข องโปรแกรม ex2-8.java เป็นด ังนี้
16
4
4
4
ข้อแ นะนำ� สำ�หรับก ารใช้ง านส ตริงน ั้น หากส ตริงท ี่จะส ร้างข ึ้นม าไม่ค ่อยม ีการแ ก้ไข เพิ่มเติม เปลี่ยนแปลงอ ยู่
บ่อย ๆ ขอแ นะนำ�ให้ใช้ค ลาสสตริงจะด ีกว่าคลาสสตริงบิวเดอร์ เพร าะอ อบเจ็กต์ท ี่เกิดจ ากการใช้คลาสสตริงนั้น ภาษา
จาวาส ามารถปรับแต่งเพื่อเพิ่มประสิทธิภาพก ารทำ�งานได้ง ่ายก ว่า
กจิ กรรม 2.1.1
1. จงหาข นาดความจุของ strBu1 จากค�ำ ส่ังตอ่ ไปน้ี
StringBuilder strBu1 = new StringBuilder("Hello Windows 8");
2. จากข อ้ 1 จงเขยี นค �ำ สงั่ ภ าษาจ าวาเพอื่ ล ดข นาดค วามจ ขุ อง strBu1 ใหม้ ขี นาดค วามจ เุ ทา่ กบั ข นาดข อง
ขอ้ มลู จรงิ ท่จี ดั เก็บ
แนวต อบกจิ กรรม 2.1.1
1. จากค�ำ สั่งข ้างต ้น ขนาดความจ ุข อง strBu1 มคี า่ เท่ากับ 31
2. ค�ำ สงั่ ภ าษาจ าวาเพอื่ ล ดข นาดค วามจ ขุ อง strBu1 ใหม้ ขี นาดค วามจ เุ ทา่ กบั ข นาดข องข อ้ มลู จ รงิ ท จ่ี ดั เกบ็
เขียนคำ�สั่งไ ด้ดังนี้