"สวัสดี Amigo! ฉันมีหัวข้อเล็กๆ ที่น่าสนใจสำหรับคุณ ประเภท The Void"
"และทำไมคุณถึงต้องการประเภทดังกล่าว ฉันหมายถึง ฉันเข้าใจ void คือการนำฟังก์ชันและโพรซีเดอร์มาปรับใช้ เราไม่มีโพรซีเดอร์ แต่เรามีฟังก์ชันที่คืนค่า void (ไม่มีอะไร)"
“ใช่ แต่คุณจำได้ไหมว่า Ellie เพิ่งบอกคุณเกี่ยวกับอินเทอร์เฟซที่โทรได้”
"ใช่."
"และคุณจำสิ่งที่ต้องส่งเป็นอาร์กิวเมนต์ประเภทได้หรือไม่"
"ใช่ ประเภทของค่าส่งคืน:"
class EmptyJob implements Callable
{
public String call() throws Exception
{
return null;
}
}
"ใช่ แล้วถ้าคุณต้องการให้เมธอดการโทรส่งคืน int ล่ะ จะทำอย่างไร"
"ตอนนี้ฉันรู้แล้วว่ามีการใส่กล่องอัตโนมัติสำหรับสิ่งนี้ ฉันจะส่งจำนวนเต็มและทุกอย่างจะดำเนินไปเหมือนเครื่องจักร:"
class EmptyJob implements Callable
{
public Integer call() throws Exception
{
return null;
}
}
"เยี่ยมมาก แล้วถ้าเมธอดไม่คืนค่าอะไรเลยล่ะ"
"ฉันเข้าใจประเด็นของคุณ ถ้าอย่างนั้นเราจะใช้ Void เป็นโมฆะแทนหรือไม่"
"ใช่."
"การทำให้ค่าที่ส่งคืนเป็น Object แล้วคืนค่า null จะง่ายกว่าไหม"
"บางครั้ง แต่ไม่เสมอไป"
"คุณรู้ว่าคุณตั้งใจจะคืนค่า void ที่นี่จริงๆ เมื่อคุณเขียน Object แต่โปรแกรมเมอร์คนอื่นอาจไม่รู้เรื่องนี้และจะคิดว่าทำไมคุณถึงคืนค่า null"
"หรือรหัสเรียกเมธอดจะคาดหวังผลตอบแทน"
"แต่เมื่อคุณเขียน Void ทุกคนจะเข้าใจทันทีว่านี่คือการห่อหุ้ม void แม้ว่าคุณจะยังคงต้องคืนค่า null ก็ตาม"
class EmptyJob implements Callable
{
public Void call() throws Exception
{
return null;
}
}
"อืม คุณพูดถูก เมธอดที่คืนค่า null เสมอจะทำให้เกิดคำถาม แต่เมธอดที่ประกาศเป็น Void สามารถทำได้โดยไม่ต้องมีคำอธิบายเพิ่มเติม"
"การอ่านโค้ดต้องมาก่อน ฉันชอบ Java!"
"เยี่ยม ฉันดีใจที่คุณชอบ เราจบกันสำหรับวันนี้"
GO TO FULL VERSION