---
title: 'Orte für Annotationen'
url: 'https://www.tutego.de/blog/javainsel/2013/09/orte-fr-annotationen'
markdown: 'https://www.tutego.de/blog/javainsel/2013/09/orte-fr-annotationen.md'
date: '2013-09-10'
description: '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 thro…'
taxonomy:
  category:
    - Insel
    - 'Java 8'
---

# Orte für Annotationen

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://www.tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://www.tutego.de/blog/javainsel/)

## Orte für Annotationen

10.09.2013 · [Christian Ullenboom](https://www.tutego.de/blog/javainsel/author/admin/)

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.

Kategorien: [Insel](https://www.tutego.de/blog/javainsel/category/insel/), [Java 8](https://www.tutego.de/blog/javainsel/category/java-8/)

## 2 Kommentare

**Christian Ullenboom** · [15.11.2019 13:06](#comment-734625)

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: ```java @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: ```java Optional<@Past LocalDate> getBirthday() { ... } @Min(value = 18) @Max(value = 150) int age; ```

**Ilker** · [08.11.2019 04:43](#comment-733686)

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.

Die bisherigen Kommentare wurden aus WordPress übernommen. Neue Kommentare sind derzeit geschlossen.

[← Alle Beiträge](https://www.tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [JDK 8 Developer Preview nun veröffentlicht](https://www.tutego.de/blog/javainsel/2013/09/jdk-8-developer-preview-nun-veroeffentlicht.md)
- Next: [@Target Annotation seit Java 8](https://www.tutego.de/blog/javainsel/2013/09/target-annotation-seit-java-8.md)
