Có cách nào để xác định số được tạo ra serialVersionUID
của một đối tượng Java được tuần tự hóa không?Tìm serialVersionUID của đối tượng được tuần tự
Vấn đề là tôi đã tuần tự hóa một đối tượng mà không chỉ định rõ ràng serialVersionUID
. Bây giờ quá trình deserialization phàn nàn về không tương thích lớp. Tuy nhiên tôi đã không thay đổi lớp theo cách khiến nó không tương thích. Vì vậy, tôi giả định rằng nó là đủ để xác định serialVersionUID
trong lớp khi nó được lưu trữ trong dữ liệu đối tượng. Để làm được điều này, tôi cần đọc số serialVersionUID
từ dữ liệu được tuần tự hóa.
Điều gì sẽ xảy ra trong trường hợp phương pháp được thêm vào lớp học? Đối tượng tuần tự hóa cũ hơn có thể được đọc bằng cách sử dụng lớp được tuần tự đã sửa đổi không? – sprezzatura
Phương thức không cấu thành trạng thái của một đối tượng, do đó không có vấn đề gì khi đọc đối tượng được tuần tự hóa trừ khi bạn không sử dụng bất kỳ serialVersionUID nào .. –