Annotation (Java)

Als Annotation wird im Zusammenhang mit der Programmiersprache Java ein Sprachelement bezeichnet, das die Einbindung von Metadaten in den Quelltext erlaubt. Dieses Element wurde im JSR 175 festgelegt und mit der Version Java 5.0 eingeführt.

Annotationen beginnen mit einem @-Zeichen. Daran schließt sich ihr Name an. Optional kann eine kommagetrennte Parameterliste folgen, die in runden Klammern eingefasst wird. Beispielsweise markiert die Annotation im folgenden Quelltextausschnitt die Klasse A als überholt (deprecated):

@Deprecatedpublic class A {}

Ein Annotation Processor ist ein Compiler-Plugin, das Annotationen beim Kompilieren auswerten kann, um damit Warnungen und Fehlermeldungen zu unterdrücken oder auszulösen oder weiteren Quellcode oder andere Dateien zu generieren. Mit Annotationen versehenen Code kann er jedoch nicht ändern. Annotationen, bei denen das vorgesehen ist, können auch zur Laufzeit mittels Reflection ausgewertet werden.

Eingesetzt werden Annotationen unter anderem im Java-EE-Umfeld, um Klassen um Informationen zu erweitern, die vor Java 5 in separaten Dateien hinterlegt werden mussten. Prominente Beispiele sind Home- und Local-Interfaces sowie Deployment-Deskriptoren.

Eine Vorgängertechnik zur Einbettung von Metadaten in Java-Quelltexten ist die Verwendung spezieller Javadoc-Kommentare. Diese wurden mit Hilfe sogenannter Doclets ausgewertet. Ein vielfach eingesetztes Werkzeug für diese Methode ist XDoclet. Diese Technik kann auch nach Einführung der Annotationen weiterhin verwendet werden.

In anderen Sprachen
español: Anotación Java
עברית: Java annotation
português: Annotation (java)
中文: Java注解