Недавно я наткнулся на то, насколько полезны неизменяемые объекты и что, например, если вы передаете элементы конструктору и ваш класс должен быть неизменным, вы должны скопировать эти элементы, если они сами не являются неизменяемыми.
Это требует много проверок или знаний о моем проекте, потому что если у меня есть
public A(B foo)
и B
не является неизменным, A
я должен был бы скопировать B
. Теперь представьте, что B
кажется неизменным, но сам по себе имеет изменяемые классы в конструкторе и так далее.
Есть ли стандарт или лучшие практики для документирования, если класс неизменен в Java? Кажется, @immutable
в Javadoc нет ключевого слова.
@Immutable аннотаций , кажется, что - то совершенно другое для производства авто класса и не является частью стандартной Java.