Orte für Annotationen

Annotationen lasen sich setzen an allen Deklarationen und bei Typnutzungen (ab Java 8).

Deklarationen

Typnutzung

Typendeklarationen (Klassen, Schnittstellen, Aufzählungen, anderen Annotationtypen)

new-Operator

Eigenschaften (Konstruktoren, Methoden, Attributen)

Typ-Anpassung

 

implements-Klausel

 

throws-Klausel bei Methoden

Wo Annotationen möglich sind

Die Annotationen bei der Typnutzung nennen sich kurz Typ-Annotationen.

Java bringt einige Annotationstypen mit, doch die werden bisher ausschließlich für Deklarationen eingesetzt, wie das gekannte @Override. Vordefinierte Typ-Annotationen sind bisher in der Java SE nicht zu finden.

Ähnliche Beiträge

2 Gedanken zu “Orte für Annotationen

  1. Die Annotationen bei der Typnutzung nennen sich kurz Typ-Annotationen.

    Sie haben das erwähnt und geschrieben, dass es möglich ist, aber Java SE keine Verwendung dafür hat. Gibt es in der Praxis dafür irgendein Beispiel? Der Leser wäre dankbar ein (theoretisches, wenn auch vielleicht erdachtes) Beispiel dazu zu sehen.

  2. Ausblick
    Ein Beispiel für eine externe Bibliothek ist das Checker Framework (https://checkerframework.org/), was eine große Anzahl von Annotationstypen und ein Werkzeug zur Prüfung von Eigenschaften bereitstellt. Damit lässt sich zum Beispiel schreiben:
    @NonNull Object ref = new Object();
    public int compareTo(@NonNull String other) { … }
    boolean lessThan(double[] arr1, double @SameLen(„#1“) [] arr2) { … }
    Ein anderes Beispiel ist Beans Validation (https://beanvalidation.org/), mit dem sich zum Beispiel schreiben lässt:
    Optional< @Past LocalDate> getBirthday() { … }
    @Min(value = 18) @Max(value = 150) int age;

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert