@Generated Аннотация, как мы его используем?
Недавно я прочитал статью о аннотациях Java, и на этом последнем появляется @Generated. Говорят, что он используется для автоматического создания кода.
Может ли кто-нибудь объяснить мне, что в дальнейшем с небольшим примером?
Все, что я нашел в сети, было вопросом о чем-то, кроме того, что я искал.
Спасибо.
Ответы
Ответ 1
В соответствии с JavaDoc:
Генерированное аннотирование используется для обозначения исходного кода, который был сгенерирован. Он также может использоваться для различения написанного пользователем кода из сгенерированного кода в одном файле.
Ответ 2
Пример Fox - это хорошие и плохие политики на границе между сгенерированным и написанным кодом. Способ мышления (я верю) различен в скомпилированных (статических) языках, nad интерпретируемый/динамический.
Худшим является изменение сгенерированного кода (будет потеряно в следующем поколении или последующее поколение)
Обычно принято выводить (ручной) класс из сгенерированного или генерировать класс, который расширяет основной "ручной" класс.
Если кто-то знает хорошую политику в этой области, прокомментируйте.
Ответ 3
Это один из тех случаев, когда "если вы не уверены, что вам это понадобится, вам это не нужно". @Generated
используется метапрограммами, такими как Auto/Value, которые генерируют исходный код, поэтому вам не нужно вручную его писать. Если вы пишете файл .java
вручную (обычно это то, что он делает), не используйте @Generated
.