@Generated Аннотация, как мы его используем?

Недавно я прочитал статью о аннотациях Java, и на этом последнем появляется @Generated. Говорят, что он используется для автоматического создания кода.

Может ли кто-нибудь объяснить мне, что в дальнейшем с небольшим примером?

Все, что я нашел в сети, было вопросом о чем-то, кроме того, что я искал.

Спасибо.

Ответ 1

В соответствии с JavaDoc:

Генерированное аннотирование используется для обозначения исходного кода, который был сгенерирован. Он также может использоваться для различения написанного пользователем кода из сгенерированного кода в одном файле.

Ответ 2

Пример Fox - это хорошие и плохие политики на границе между сгенерированным и написанным кодом. Способ мышления (я верю) различен в скомпилированных (статических) языках, nad интерпретируемый/динамический.

Худшим является изменение сгенерированного кода (будет потеряно в следующем поколении или последующее поколение) Обычно принято выводить (ручной) класс из сгенерированного или генерировать класс, который расширяет основной "ручной" класс. Если кто-то знает хорошую политику в этой области, прокомментируйте.

Ответ 3

Это один из тех случаев, когда "если вы не уверены, что вам это понадобится, вам это не нужно". @Generated используется метапрограммами, такими как Auto/Value, которые генерируют исходный код, поэтому вам не нужно вручную его писать. Если вы пишете файл .java вручную (обычно это то, что он делает), не используйте @Generated.