Geschichte der Java-Annotationen
Fassen Sie die Rolle und den Verlauf von Java-Annotationen zusammen.
Geschichte
Die Annotation "@" wurde in Java 1.5 eingeführt.
――Es wurde als Kommentar geboren, der dem Compiler einen Hinweis wie "@ Override" gibt.
Vorteile der Verwendung von Anmerkungen.
--Codegenauigkeit: Anmerkungen wie "@ Nullable", "@ Deprecated" und "@ Override" können Methoden und Feldern wichtige semantische Informationen hinzufügen, sodass der Compiler diese Informationen erzwingt. es kann.
- Testmethode: Bis zum Aufkommen von TestNG und Anmerkungen verwendete JUnit Reflexion, um festzustellen, dass eine Methode eine Testmethode war. Diese Bestimmung erforderte eine spezielle Namenskonvention.
Durch die Übernahme von Anmerkungen müssen keine Namenskonventionen mehr verwendet werden.
--Persistenz (Ruhezustand usw.): Durch Hinzufügen von Anmerkungen können Felder und Methoden den in der Datenbank gespeicherten Daten zugeordnet werden.
- Abhängigkeitsinjektion: Der Klasse, die injiziert werden muss, um diese Tatsache anzuzeigen, kann eine Anmerkung hinzugefügt werden.
Häufig verwendete Anmerkungen
@ Nullable
und @ Nonnull
(javax.annotation)
- Kann es an Feld- und Methodenparameter angehängt werden und die Variable kann einen Nullwert annehmen?
Bitte angeben.
- Diese Anmerkung ist sehr nützlich und viele Tools, die den Java-Compiler (javac) verwenden (die wichtigsten IDEs sind typische Beispiele), erkennen diese beiden.
- Verwenden Sie diese Anmerkung nach Möglichkeit immer. Sie werden bald feststellen, dass die Anzahl der Nullzeigerausnahmen in Ihrer Codebasis stark abnimmt.
@Override
Obligatorisch seit Java6.
Grund
--Diese Annotation muss allen Methoden hinzugefügt werden, die die Methoden der übergeordneten Schnittstelle oder übergeordneten Klasse überschreiben.
--Dieser Zusatz bewirkt, dass die Methode unbeabsichtigt überschrieben wird.
- Im Gegenteil, Sie können die Situation verhindern, in der Sie glauben, eine Methode "überschrieben" zu haben, die aufgrund eines Tippfehlers nicht überschrieben wurde.
Referenzierter Artikel (Vielen Dank immer)
https://www.oracle.com/webfolder/technetwork/jp/javamagazine/Java-MA16-Annotations.pdf