Recientemente me topé con lo útiles que son los objetos inmutables y que, por ejemplo, si pasa elementos a un constructor y su clase debe ser inmutable, debe copiar estos elementos si no son inmutables.
Esto requiere mucha verificación o conocimiento sobre mi proyecto, porque si tengo
public A(B foo)
y B
no es inmutable, A
tendría que copiar B
. Ahora imagine B
parece inmutable, pero tiene clases mutables en el constructor y así sucesivamente.
¿Existe algún estándar o práctica recomendada para documentar si una clase es inmutable en Java? Parece que no hay una @immutable
palabra clave en Javadoc.
La anotación @Immutable parece ser algo totalmente diferente para la generación automática de clases y no forma parte de Java estándar.