ทำไมต้องมีWarning serialVersionUID
มันเป็น warning ขึ้นมากวนใจ ที่จะมีตลอดเวลาเราสร้าง class ใหม่ขึ้นมาแล้ว implement ถึง class Serializable
warning: [serial] serializable class Broadway has no definition of serialVersionUID
1 | private static final long serialVersionUID = 1L; |
ถ้า class serializable ไม่ได้ประกาศตัวแปร serialVersionUID ในกระบวนการ serialization จะคำนวณ ค่า default suid ให้เอง
เจ้าค่า serialVersionUID นั้นเป็นค่าที่ใช้สำหรับทำให้แน่ใจว่าถ้าเรามี class ที่ใหม่กว่า และจะไม่สามารถทำ deserialize ตัว instance ของ class ที่เก่ากว่าได้ มันก็มีไว้กรณีถ้าเราแก้ไข class นิด ๆ หน่อย ๆ เราก็อาจจะคงค่า serialVersionUID เลขเดิมได้ ถ้ามันไม่มีผลมาก แต่ถ้ามันมีผลมาก เราก็ควรเปลี่ยนค่าไปครับ
เดี๊ยวมีต่อไปประชุมก่อน ^^