Đây chỉ là một quan điểm học tập học thuật. Tất cả những gì tôi biết là bất cứ khi nào chúng ta muốn làm cho một số lớp bất biến, - nó phải bao gồm các trường nguyên thủy cuối cùng - tham chiếu không thoát trong khi xây dựng đối tượng - nếu sử dụng các đối tượng khác, thì các đối tượng đó cũng cần phải đệ quy không thay đổi hoặc các lớp không thay đổi API như java.lang.String, trong số một số thông tin chi tiết khác!Làm thế nào để tạo một lớp không thay đổi với đối tượng Date trong đó?
Nhưng gần đây tôi đã xem xét một câu hỏi trong đó một người phỏng vấn đã yêu cầu một ứng viên tạo ra một lớp không thay đổi có java.util.Date trong đó. Ấn tượng đầu tiên của tôi nói rằng nó không thể mặc dù chúng ta có thể thực hiện các cách giải quyết với String chứa chuỗi ngày tháng thay vì trong đối tượng Date.
Hãy làm rõ tôi về điều này. Cảm ơn bạn.
Fields không cần phải là loại không thay đổi, họ chỉ có thể không được đột biến. –
đơn giản làm cho nó (lớp) cuối cùng !!! –
Và câu hỏi của bạn là gì? Bạn thấy vấn đề với một trường có kiểu 'Date' ở đâu? Đó là lập trình viên nếu anh ta chuyển thể hiện Date này đến lớp gọi. Anh ta không bị buộc phải làm như vậy và do đó nó không phải là một vấn đề để có loại lĩnh vực như vậy. – Tom