Đây là một câu hỏi tiếp theo cho các câu hỏi 1 & 2.Các vấn đề về Findbugs có khả năng biến đổi của đối tượng Ngày trong Java
Như đã nói trong câu hỏi vào mã bên dưới
public Date getSomeDate() {
return someDate;
}
sẽ cung cấp cho bạn các lỗi findbug issue.
Các giải pháp đề nghị là để lặp lại trong các đối tượng Date trong cả getter và setter như
public Date getSomeDate() {
return new Date(someDate.getTime());
}
Đây có phải là một cách tiếp cận tốt hay là có cách nào thay thế cho điều này?
Có thư viện Ngày không thay đổi nào có sẵn trong java có thể khắc phục sự cố này không?
bạn có nghĩa là bất biến phải không? dù sao đi nữa, cách tiếp cận đã nêu là hoàn hảo. –
@PrinceJohnWesley: cảm ơn và Có. Tôi đã cập nhật các câu hỏi. Bạn có nghĩa là để nói ok của nó để sử dụng constructor Date trong tất cả các getters và setter? – ManuPK
Miễn là bạn không để lộ các cuộc gọi đến thư viện bên ngoài. bạn không cần phải sao chép sâu (constructor) nó bởi vì bạn biết những gì bạn làm. Nếu không, luôn luôn cung cấp cho các tài liệu tham khảo khác biệt nếu nó là mutable. Hãy thử joda thời gian api –