Java mit Anmerkungen

An diesem Punkt noch ein Hinweis auf ein paar weitere eingebaute Annotationen in Java 5. Da sind zunächst die Compiler-Übersetzungsanweisungen @Deprecated und @SuppressWarnings. @Deprecated ist eine erweiterte Möglichkeit, um eine Methode als veraltet („deprecated“) zu markieren, also als nicht für neuen Code empfohlen, weil sie möglicherweise in Zukunft entfernt wird. Mit @Deprecated gibt der Compiler eine entsprechende Warnung aus.

@SuppressWarnings hält den Compiler davon ab, aus dem eingeschlossenen Code-Element heraus Warnungen auszugeben, also wird es an den Beginn einer Klassendefinition oder einer spezifischen Methode gestellt. Es enthält einen Parameter, der die Art des zu unterdrückenden Fehlers anzeigt, zum Beispiel:

Hier wird eine Warnung über eine ungeprüfte („unchecked“) Typanpassung (Casting) zwischen einer List und einer List<String> unterdrückt. Dies ist eine gute Möglichkeit, wenn man Java mit Generics schreibt, aber mit nicht generischem Code arbeiten muss. Bei der Unterdrückung von Warnungen sollte der Umfang der Unterdrückung so weit wie möglich reduziert werden. Im obigen Beispiel werden sie für die gesamte Methode unterdrückt. Das kann so weit eingegrenzt werden, dass nur Warnungen über eine einzelne fehlerhafte Anweisung unterdrückt werden:

Das funktioniert allerdings erst ab Java2SE 1.5.06. In früheren Versionen wird @SuppressWarning nicht unterstützt.

Die anderen eingebauten Annotationen, @Documented und @Inherited, beziehen sich auf die Unterstützung der Annotationen selbst und beide können zu einer Annotationsdefinition hinzugefügt werden. @Documented besagt, dass die Verwendung der Annotation in jeder generierten JavaDoc-Dokumentation wiedergespiegelt werden soll. Annotationen und JavaDoc-Markups sind komplementär. @Inherited zeigt, dass eine Annotation auf eine Erweiterung der Klasse, in der sie eingesetzt wird, vererbt werden kann. Standardmäßig werden Annotationen nicht vererbt.

Diese kurze Ausführung hat hoffentlich einige Anreize für neue Möglichkeiten zum Einsatz von Java-Annotationen in der Entwicklung gegeben. Wie in der Einleitung erwähnt, sind Annotationen inzwischen ein wichtiges Element in modernen Java-Frameworks und Anwendungen. Ein Beispiel hierfür ist etwa Junit4, wo durch Java-Annotationen Testfälle deutlicher in Junit gekennzeichnet werden können, ohne eine Namenskonvention bei den Testschreibern zu erzwingen. Oder Grails, wo Annotationen Informationen für ein „Rails-ähnliches“ Framework liefern. Annotationen bieten umfangreiche Möglichkeiten, womit aber auch eine größere Verantwortung verbunden ist. Annotationen sind für Informationen des Entwicklers vorgesehen, aber sie sind nicht der Ort, um eine Laufzeitkonfiguration zu verbergen.

Der Source Code dieses Tutorials kann auch als Zip-File heruntergeladen werden.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Google schließt Zero-Day-Lücke in Chrome

Von ihr geht ein hohes Risiko aus. Angreifbar sind Chrome für Windows, macOS und Linux.

1 Woche ago

KI erkennt Emotionen in echten Sportsituationen

Forschende des KIT haben ein Modell zur Emotionsanalyse entwickelt, das affektive Zustände ähnlich genau wie…

1 Woche ago

Ermittlern gelingt weiterer Schlag gegen Ransomware-Gruppe LockBit

Sie decken die Identität des Kopfs der Gruppe auf. Britische Behörden fahnden mit einem Foto…

1 Woche ago

Apple stellt neuen Mobilprozessor M4 vor

Er treibt das neue iPad Pro mit OLED-Display an. Apple verspricht eine deutliche Leistungssteigerung gegenüber…

1 Woche ago

Cyberabwehr: Mindestens zwei kritische Vorfälle pro Tag

Davon entfällt ein Viertel auf staatliche Einrichtungen und 12 Prozent auf Industrieunternehmen.

1 Woche ago

Tunnelvision: Exploit umgeht VPN-Verschlüsselung

Forscher umgehen die Verschlüsselung und erhalten Zugriff auf VPN-Datenverkehr im Klartext. Für ihren Angriff benötigen…

1 Woche ago