Cách tốt nhất là không để lộ các tham chiếu bên trong của một đối tượng (thực thể). Vì vậy, nếu một Object có một trường kiểu java.util.Date
thì ví dụ getter cho trường này sẽ trả về không phải là ngày ban đầu mà là một bản sao của nó.java.util.Date sao chép hoặc sao chép để không hiển thị tham chiếu nội bộ
Nhưng đối với một java.util.Date có hai cách phổ biến để tạo ra bản sao:
- bản sao:
(Date) originalDate.clone()
- bản sao qua constructor
new Date(originalDate.getTime())
Câu hỏi của tôi là, mà cách tốt hơn, và tại sao?
Vì Java 8 java.time API có thể được sử dụng thay cho Joda Time. – Akash