Page 16 - การโปรแกรมคอมพิวเตอร์ขั้นสูง
P. 16
2-6 การโปรแกรมคอมพิวเตอร์ขั้นสูง
รปู แบบท ี่ 3 StringBuilder(String str)
โดย
คอนส ตรัคเทอรน์ ีจ้ ะส ร้างค วามจ ทุ ีม่ คี ่าเริ่มต ้นเป็นค ่าส ตริงท ีส่ ่งม าเป็นอ าร์กิวเมนต์ ซึ่งค วามจ นุ ีม้ ขี นาด
ทั้งหมดเท่ากับข นาดของสตริงดังก ล่าวบ วกด ้วย 16
ตัวอย่างที่ 2.1 คอนส ตรัคเทอร์ท ่ีใช้ส �ำหรับส ร้างเป็นอ อบเจ็กต์คลาสสตริงบิวเดอ ร์
ex2-1.java
1 class ex2-1 {
2 public static void main(String args[ ]) {
3 StringBuilder str1 = new StringBuilder();
4 StringBuilder str2 = new StringBuilder(10);
5 StringBuilder str3 = new StringBuilder("Java");
6 System.out.println("ขนาดของ str1 = " + str1.capacity());
7 System.out.println("ขนาดของ str2 = " + str2.capacity());
8 System.out.println("ขนาดของ str3 = " + str3.capacity());
9 System.out.println(str3);
10 }
11 }
คำ�อ ธิบายโปรแกรม
บรรทัดท ี่ 1-11 สร้างค ลาสช ื่อ ex2-1
บรรทัดที่ 2-10 สร้างเมธอด main เพื่อเริ่มต้นก ารทำ�งานของโปรแกรม
บรรทัดท ี่ 3 สร้างออบเจ็กต์จ ากคลาสสตริงบิวเดอ ร์ ที่ม ีความจ ุข นาด 16 ช่อง และยังไม่มีก ารก ำ�หนดค ่า
เริ่มต้นใด ๆ และป ระกาศตัวแปรแบบอ้างอิง ชื่อ str1 เพื่อใช้ส ำ�หรับอ ้างอิงไปยังออบเจ็กต์นี้
บรรทัดท ี่ 4 ส ร้างอ อบเจ็กตจ์ ากค ลาสส ตริงบ ิวเดอ ร์ ทีม่ คี วามจ ขุ นาด 10 ชอ่ ง ตามค ่าทรี่ ะบเุ อาไวใ้นว งเล็บ
และย งั ไมม่ กี ารก �ำ หนดค า่ เริม่ ต น้ ใด ๆ และป ระกาศต วั แปรแ บบอ า้ งองิ ชือ่ str2 เพือ่ ใชส้ �ำ หรบั
อ้างอิงไปย ังออบเจ็กต์นี้
บรรทัดที่ 5 ส ร้างออบเจ็กต์จากคลาสสตริงบิวเดอร์ ที่มีความจุขนาดเท่ากับ 20 ช่อง ซึ่ง 20 ช่อง เกิด
จาก 16 ช่องป กติ รวมก ับขนาดข องสตริงที่ส่งมาด้วยคือ “Java” อีก 4 ช่อง ซึ่งกำ�หนดเป็น
ค่าเริ่มต ้นเท่ากับ “Java” และป ระกาศตัวแปรแบบอ ้างอิง ชื่อ str3 เพื่อใช้สำ�หรับอ ้างอิงไป
ยังอ อบเจ็กต์นี้
บรรทัดท ี่ 6 ใช้เมธอด capacity() เพื่อแ สดงข นาดความจุของ ออ บเจ็กต์ที่ตัวแปร str1 อ้างอิงถึง
บรรทัดท ี่ 7 ใช้เมธอด capacity() เพื่อแ สดงขนาดความจุข องออ บเจ็กต์ที่ต ัวแปร str2 อ้างอิงถ ึง
บรรทัดท ี่ 8 ใช้เมธอด capacity() เพื่อแ สดงขนาดค วามจุของออ บเจ็กต์ท ี่ต ัวแปร str3 อ้างอิงถ ึง
บรรทัดท ี่ 9 แสดงค ่าที่อ ยู่ในออบเจ็กต์ที่ต ัวแปร str3 อ้างอิงถ ึง ออกท างจอภาพ