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 Bist nicht unveränderlich, Aich müsste kopieren B. Stellen Sie sich jetzt vor, dass dies Bunverä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 @immutablein 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.