Ostatnio natknąłem się na to, jak przydatne są niezmienne obiekty i że np. Jeśli przekazujesz elementy do konstruktora, a twoja klasa powinna być niezmienna, musisz skopiować te elementy, jeśli same nie są niezmienne.
Wymaga to dużej ilości sprawdzania lub wiedzy na temat mojego projektu, ponieważ jeśli mam
public A(B foo)
i B
nie jest niezmienny, A
musiałbym skopiować B
. Teraz wyobraź sobie, B
że wydaje się niezmienny, ale sam ma zmienne klasy w konstruktorze i tak dalej.
Czy istnieje standard lub najlepsza praktyka dokumentowania, jeśli klasa jest niezmienna w Javie? Wygląda na to, że @immutable
w Javadoc nie ma słowa kluczowego.
@Immutable adnotacja wydaje się być czymś zupełnie inna dla generacji klasy auto i nie jest częścią standardu Java.