Questo è più di un seguito alle domande 1 & 2.Problemi di findbug con la mutabilità dell'oggetto Date in Java
come detto nelle questioni il codice qui sotto
public Date getSomeDate() {
return someDate;
}
vi darà l'errore findbug issue.
La soluzione suggerita è stato quello di duplicare l'oggetto Date in entrambi i getter e setter come
public Date getSomeDate() {
return new Date(someDate.getTime());
}
'questo un buon approccio o ci sono modi alternativi per questo?
Esiste una libreria di Date immutable disponibile in Java che possa risolvere questo problema?
Cercavi giusto immutabili? comunque, l'approccio dichiarato è perfetto. –
@PrinceJohnWesley: grazie e sì. Ho aggiornato la Qs. Vuoi dire che è giusto usare il costruttore Date in tutti i getter e setter? – ManuPK
Finché non esporre le chiamate alla libreria esterna. non hai bisogno di clonare in profondità (costruttore) perché sai cosa fai. Altrimenti indica sempre il riferimento alla differenza se è mutabile. Prova joda time api –