JavaRush /Blogue Java /Random-PT /Anotações. Parte um, um pouco chata

Anotações. Parte um, um pouco chata

Publicado no grupo Random-PT
Primeira parte. Escrevi brevemente sobre anotações com os tipos SOURCE e CLASS. Vale a pena ler para não se perder na segunda parte e começar a “mal-entendido” um pouco mais =) Com certeza vai ter pelo menos uma palavra aqui que você conhece!
Anotações.  Primeira parte, um pouco chata - 1
A primeira vez que os vi com problemas aqui, de alguma forma não os percebi. Bem, Override está no ar, foi escrito pela IDEA, então é assim que deveria ser. Com o tempo, percebi que tudo é muito mais profundo. Enquanto você estuda, as anotações parecem algo inútil, mas necessário. Você não sabe por que eles estão fazendo isso. Acho que li alguns artigos, eles diziam “que bom que agora temos anotações, tudo ficou tão simples”. Mas eu não sabia como era antes e não entendia que agora era mais fácil. Agora eu sei e quero contar um pouco para vocês. Existem 3 tipos de anotações (RetentionPolicy):
  • FONTE – anotações do compilador
  • CLASSE – os dados da anotação serão gravados no bytecode, mas não estarão disponíveis durante a operação. Eles escrevem que muitas anotações na biblioteca padrão usam esse tipo e agora o mantêm por causa da compatibilidade com versões anteriores. Usado para tarefas muito específicas.
  • Perguntas e respostas no StackOverflow
  • RUNTIME – o mais popular, usado enquanto o código está em execução.
Como parte do artigo foi ocupada pela introdução, escreverei aqui sobre as anotações SOURCE e CLASS. Aqui estão os resumos que consegui encontrar (graças ao problema 3607). Não escrevo sobre tempo de execução, há muitos deles e esse não é o assunto do artigo. FONTE:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/anotação/Generated.class
  • ,java/lang/Override.class
AULA: Não sei por que são necessárias anotações do tipo CLASS. Não consegui encontrar documentação para anotações existentes, então acho que podemos deixar essa bagagem para trás. Mas se você encontrar, por favor, compartilhe. Anotações de FONTE:
  1. Nativo – uma variável sob esta anotação pode referir-se ao código nativo;

  2. SuppressWarnings – suprime vários avisos do compilador;

  3. Gerado – marca o código fonte que foi gerado;

  4. Substituição – verifica a substituição do método.
Mais detalhes:
Anotações.  Parte um, um pouco chata - 2
Nativo - nunca visto e nunca usado. Acho que esta é uma anotação bastante rara, porque ... eles o usam se precisarem executar código em outra linguagem “nativa”. Tentei encontrar uma referência clara a ela, mas não consegui.
Anotações.  Parte um, um pouco chata - 3
SuppressWarnings - frequentemente usado no formato @SuppressWarnings("desmarcado"). Usado para suprimir avisos dos quais você tem conhecimento. O exemplo acima suprime avisos sobre a conversão de tipos não verificados. Novamente, só o encontrei nesta forma e uso.
Anotações.  Parte um, um pouco chata - 4
Gerado - me deparei com isso agora, quando a tarefa exige que eu gere classes a partir de arquivos xsd. Essas três anotações são bastante específicas e provavelmente não são do seu interesse no momento. Vou descrever o último.
Anotações.  Parte um, um pouco chata - 5
Substituir - você usa isso o tempo todo e faz uma coisa muito útil. É fácil cometer um erro ao substituir um método, a menos que o IDEA faça isso. Existem erros de digitação ou apenas erros. Esta anotação garantirá que o método na classe pai seja igual ao nosso método (rotulado). Isso nos garante que o método será substituído e não adicionado. Ao refatorar o código, o método pode ser removido ou alterado. Novamente, a anotação indicará o erro para você. Sem ele, nosso método simplesmente estaria concluído.
Anotações.  Parte um, um pouco chata - 6
Tedioso? Eu diria que sim, não há muita coisa útil para tirar deste artigo. Quase tudo nele (90%) é uma história sobre algo que você não usará, ou usará, mas muito raramente. Os 10% restantes são olá e uma descrição da anotação Override, que à primeira vista é inútil. Bem, acho que a segunda parte do artigo será mais interessante. Haverá anotações RUNTIME, e elas interagem com o código em tempo real e criam magia negra. Anotações. Parte dois. Lombok.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION