Quantcast
Viewing all articles
Browse latest Browse all 2067

ใช้งาน Java Record กันได้แล้ว

Image may be NSFW.
Clik here to view.

Image may be NSFW.
Clik here to view.

หลังจากที่แบ่งปันความรู้เกี่ยวกับการพัฒนาระบบงาน
ด้วยภาษา Java และ Spring Boot
Spring Boot 3 นั้น ต้องใช้งาน Java 17 ขึ้นไป
แต่ยังพบว่า ยังคงใช้งาน library ชื่อ Lombok
เลยทำการแนะนำความสามารถของ Java ชื่อว่า Record
ซึ่งมีมาตั้งแต่ Java 14 แล้ว
ดังนั้นจึงสรุปความสามารถของ Java Record ไว้นิดหน่อย

ทั้ง Java Record และ Lombok นั้น มีเป้าหมายเพื่อ

  • ลด code ซ้ำ ๆ เช่น getter/setter, constructor, toString, equals และ hashcode เป็นต้น
  • ใน Lombok มี builder pattern สำหรับการสร้าง instance ของ class ให้อีกด้วย

มาดูกันว่า Java Record เป็นอย่างไร และใช้งานกันอย่างไร

  • มี keyword ใหม่ ชื่อว่า record
  • สร้างมาสำหรับ data class หรือ data model นั่นเอง
  • เป็น immutable object นั่นคือ สร้างแล้วไม่สามารถแก้ไขได้ ซึ่งเป็น final นั่นเอง
  • ทำให้ไม่ต้องมาจัดการ synchronize กันนะ
  • ทุก ๆ field/property จะเป็น final
  • จะมี gettter method ให้กับทุก ๆ field/property
  • ไม่สามารถสืบทอดได้ (inhertitance)
  • มี public constructor ให้
  • และสิ่งที่จำเป็น เหมือน ๆ กับ Lombok แต่ไม่ต้องใส้ annotation แปลก ๆ อีกต่อไป

ตัวอย่าง code ของ Record

[gist id="3796ce3779a53dd045bbc70ea19e0f8e" file="Person.java"]

เรียกใช้งาน Record

[gist id="3796ce3779a53dd045bbc70ea19e0f8e" file="DemoRecord.java"]

มาลองใช้งานกันดูครับ
ขอให้สนุกกับการ coding


Viewing all articles
Browse latest Browse all 2067

Trending Articles