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

Kostenloser Dekryptor für ShrinkLocker

Mit dem Dekryptor von Bitdefender können Opfer von Attacken mit der Shrinklocker-Ransomware Dateien wiederherstellen.

1 Woche ago

Malwarebytes warnt vor Betrugsmaschen beim Weihnachtseinkauf

In der Vorweihnachtszeit ist vor allem Malvertising auf dem Vormarsch. Cyberkriminelle locken Nutzer über schädliche…

1 Woche ago

Bedrohungsindex: Deutliche Zunahme von Infostealern im Oktober

Dazu trägt unter der Infostealer Lumma-Stealer bei. Hierzulande dominiert der Infostealer Formbook die Malware-Landschaft.

1 Woche ago

Chrome 131 schließt zwölf Sicherheitslücken

Eine schwerwiegende Anfälligkeit hebelt die Sicherheitsfunktion Seitenisolierung auf. Betroffen sind Chrome für Windows, macOS und…

2 Wochen ago

DeepL Voice mit KI für Sprach- übersetzungen

DeepL Voice ermöglicht Live‑Übersetzung von Meetings und Gesprächen in 13 Sprachen.

2 Wochen ago

November-Patchday: Microsoft schließt Zero-Day-Lücken in Windows

Betroffen sind Windows und Windows Server. Microsoft patcht aber auch Schwachstellen in Excel, Word und…

2 Wochen ago