Java การใช้งาน Method toString()

toString() เป็นเมธอดที่จะทำหน้าที่ในการคืนค่า (return) ข้อมูลที่อยู่ในออบเจ็กต์นั้น ๆ กลับมาในรูปแบบ String เราจะใช้เมธอด toString() เพื่อตรวจสอบค่าที่อยู่ในออบเจ็กต์นั้น ๆ 

ลองสร้างคลาสชื่อ Books.java ขึ้นมา โดยภายในมีโค้ดดังต่อไปนี้

 

หลังจากนั้นสร้างคลาส TestBooks.java ขึ้นมา ภายในมีเมธอด main() ลองสร้างออบเจ็กต์จากคลาส Books.java กำหนดค่าให้ตัวแปร และสั่งให้โปรแกรมแสดงค่าออกมา ดังนี้

 

เมื่อ Run ดูจะได้ผลลัพธ์ดังภาพ

java-basic-toString-1

 

จะเห็นเราต้องใช้คำสั่งแสดงผลถึง 3 คำสั่ง เพื่อดูค่าทั้งหมดในออบเจ็กต์ หรือเราอาจจะเขียนบันทัดเดียวแบบนี้ก็ได้ แต่โค้ดก็ยังยาวไปอยู่ดี

 

เมธอด toString() มีประโยชน์มากในกรณีที่เราต้องการทราบค่าออบเจ็กต์ที่เรากำลังทดสอบอยู่ กลับไปที่คลาส Books.java เราจะสร้างเมธอด toString() ขึ้นมาเตรียมเอาไว้ ถ้าเผื่อเวลาอยากทราบค่าของออบเจ็กต์ จะได้เรียกใช้งานได้ทันที

 

ในโปรแกรม NetBeans เราสามารถสร้างเมธอด toString() ได้ด้วยการกดไม่กี่คลิกคือ ใช้คีย์ลัด Alt+Insert และเลือก “toString()…

java-basic-toString-2

 

จะปรากฏหน้าจอให้สร้างเมธอด toString() 
java-basic-toString-3

กดปุ่ม “Enter” ที่คีย์บอร์ด หรือ คลิกที่ปุ่ม “Generate” (แนะนำให้หัดใช้คีย์บอร์ดให้คล่องจะดีกว่า เพราะทำงานได้เร็วมากกว่าเปลี่ยนไปจับเมาส์) เราก็จะได้เมธอด toString() ขึ้นมาดังนี้

 

ตอนนี้คลาส Books.java ของเราจะมีเมธอดทั้งหมด 3 ชนิดคือ

1. Constructor 3 ตัว

2. Getter & Setter

3. toString()

 

ที่คลาส TestBooks.java เราจะเขียนคำสั่งเพื่อดูค่าของโปรแกรมได้แบบสั้น ๆ ง่าย ๆ เพียงบรรทัดเดียวดังต่อไปนี้

 

จะเห็นว่าโค้ดในส่วนการแสดงผล เราเรียกใช้เมธอด toString() 

System.out.println(book.toString());

 

ความจริงแล้วเราไม่จำเป็นต้องเรียกใช้เมธอด toString() เลย เพราะคำสั่งแสดงผลจะค้นหาเมธอด toString() ให้เราอัตโนมัติ เราสามารถเขียนคำสั่งแสดงผลง่าย ๆ เพียงแค่เขียนชื่อออบเจ็กต์ที่ต้องการเพียงเท่านั้น ดังนี้

System.out.println(book);

 

โค้ดในคลาส TestBooks.java มีเพียงเท่านี้

 

เมื่อสั่ง Run จะได้ผลลัพธ์ดังภาพ

java-basic-toString-4

 

สรุป

เมธอด toString() เป็นเมธอดที่คืนค่าข้อมูล (value) หรือสถานะ (state) ของออบเจ็กต์ กลับมาในรูปแบบข้อความตัวอักษร หรือ String ซึ่งเเป็นเมธอดที่มีประโยชน์อย่างมาก และเรามักจะได้เรียกใช้งานเมธอด toStriong() เสมอเวลาทดสอบโปรแกรม ดังนั้นในการสร้างคลาสใด ๆ เราต้องคำนึงอยู่เสมอว่าคลาสนั้นจำเป็นต้องมีเมธอด toString() หรือไม่ ? ถ้าจำเป็นเราก็ควรจะสร้างเมธอด toString() เอาไว้ เพื่อความสะดวกในการเรียกใช้งานในภายหลัง

 

 

ธมนวรรณ มณีจันทร์

ธมนวรรณ มณีจันทร์

|:- เราเชื่อมั่นว่าการเสียสละและการแบ่งปันจะทำให้โลกใบนี้สวยงามมากขึ้น ทุกๆ จุดเริ่มต้นของการเรียนรู้ นำไปสู่การเรียนรู้ถัดไป เว็บไซต์แห่งนี้ขอเป็นส่วนหนึ่งของการแบ่งปันความรู้ที่ไม่มีที่สิ้นสุด มาร่วมกันผลักดันโลกของเราให้หมุนไปพร้อมกับพลังแห่งความรักด้วยกันนะคะ :) >>> |:- About Me! -:|