@Deprecated

@Deprecated ist eine Annotation, welche ohne Einschränkung auf alle annotierbaren Elemente anwendbar ist, auch wenn sie bei einer Anwendung auf lokale Variablen oder Parameter keine Wirkung zeigt. Werden Elemente verwendet, die mit dieser Annotation gekennzeichnet wurden, so quittiert der Compiler dies mit einer Warnung.
@Deprecated ähnelt dem aus früheren Java Versionen bekannte JavaDoc Tag @deprecated. Der Unterschied wird das an einem Code-Beispiele deutlich.


1  package java.util;
2  public class Date
3      implements java.io.Serializable, Cloneable, Comparable<Date>{
4  //...
5      /**
6       * [...]
7       * @deprecated As of JDK version 1.1, [...]
8       */
9      @Deprecated
10      public Date(int year, int month, int date) {
11          this(year, month, date, 0, 0, 0);
12      }
13  //...
14  }

Zwar hat der Java 1.4 Compiler bereits Warnungen produziert, wenn Methoden, Klassen oder Pakete genutzt wurden, die im JavaDoc als @deprecated gekennzeichnet waren. Jedoch sind Kommentare eigentlich durch den Compiler zu ignorieren. Daher ist der neue Weg „sauberer“, da hier die Methode selbst als deprecated gekennzeichnet wird, so dass sich der Compiler nicht mehr den Kommentar verarbeiten muss. Die Annotation @Deprecated wird auch mit in die JavaDoc Dokumentation aufgenommen allerdings nur als Annotation. Wie es dazu kommt wird im Kapitel Meta-Annotationen erläutert. Das JavaDoc-Tag @deprecated wird weiterhin verwendet jedoch nur zu Dokumentationszwecken.