Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

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

$
0
0

หลังจากที่แบ่งปันความรู้เกี่ยวกับการพัฒนาระบบงาน
ด้วยภาษา 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 1997

Trending Articles