Recentemente sono incappato su quanto siano utili oggetti immutabili e che ad es. se passi elementi a un costruttore e la tua classe dovrebbe essere immutabile, devi copiare questi elementi se non sono immutabili essi stessi.
Ciò richiede un sacco di controllo o conoscenza del mio progetto, perché se ho
public A(B foo)
e B
non è immutabile, A
Dovrei copiare B
. Ora immagina che B
sembra immutabile, ma di per sé ha classi mutabili nel costruttore e così via.
Esiste uno standard o una best practice per documentare se una classe è immutabile in Java? Sembra che non ci sia% parole chiave% in Javadoc.
L' annotazione @Immutable sembra essere qualcosa di completamente diverso per la generazione di classi auto e non parte di standard Java.