Ich bin kürzlich darauf gestoßen, wie nützlich unveränderliche Objekte sind und dass Sie, wenn Sie z. B. Elemente an einen Konstruktor übergeben und Ihre Klasse unveränderlich sein soll, diese Elemente kopieren müssen, wenn sie selbst nicht unveränderlich sind.
Dies erfordert viel Überprüfung oder Wissen über mein Projekt, denn wenn ich habe
public A(B foo)
und B
ist nicht unveränderlich, A
ich müsste kopieren B
. Stellen Sie sich jetzt vor, dass dies B
unveränderlich ist, aber selbst veränderbare Klassen im Konstruktor usw. hat.
Gibt es einen Standard oder eine bewährte Methode, um zu dokumentieren, ob eine Klasse in Java unveränderlich ist? Es scheint, dass es @immutable
in Javadoc kein Schlüsselwort gibt .
Die Annotation @Immutable scheint für die automatische Klassengenerierung etwas völlig anderes zu sein und nicht Teil von Standard-Java.