Ich möchte eine meiner Methoden "veraltet" machen = nicht mehr verwendet.
Trotzdem möchte ich es in meiner API haben. Ich möchte nur jedem, der diese Methode verwendet, "Warnung" zeigen.
Wie kann ich das erreichen?
Ich möchte eine meiner Methoden "veraltet" machen = nicht mehr verwendet.
Trotzdem möchte ich es in meiner API haben. Ich möchte nur jedem, der diese Methode verwendet, "Warnung" zeigen.
Wie kann ich das erreichen?
Antworten:
Verwenden Sie @Deprecatedauf Methode. Vergessen Sie nicht, das Javadoc-Feld zu klären:
/**
* Does some thing in old style.
*
* @deprecated use {@link #new()} instead.
*/
@Deprecated
public void old() {
// ...
}
reasonmit dem Standardwert von ""konnte nicht schaden
@deprecatedNachricht im Kommentar könnte hinzugefügt werden @Deprecated(ein Punkt, um sie alle zu beheben) ...
Verwenden Sie sowohl die @DeprecatedAnnotation als auch das @deprecatedJavaDoc-Tag.
Das @deprecatedJavaDoc-Tag wird zu Dokumentationszwecken verwendet.
Die @DeprecatedAnmerkung weist den Compiler an, dass die Methode veraltet ist. Folgendes steht im Sun / Oracles-Dokument zu diesem Thema:
Durch die Verwendung der
@DeprecatedAnnotation zum Verwerfen einer Klasse, Methode oder eines Felds wird sichergestellt, dass alle Compiler Warnungen ausgeben, wenn Code dieses Programmelement verwendet. Im Gegensatz dazu gibt es keine Garantie dafür, dass alle Compiler immer Warnungen basierend auf dem@deprecatedJavadoc-Tag ausgeben , obwohl die Sun-Compiler dies derzeit tun. Andere Compiler geben solche Warnungen möglicherweise nicht aus. Daher ist die Verwendung der@DeprecatedAnmerkung zum Generieren von Warnungen portabler als die Verwendung des@deprecatedJavadoc-Tags.
Das vollständige Dokument finden Sie unter Wie und wann APIs veraltet sind
@deprecatedJavadoc-Tag (in Java 4) markiert haben, hat der Compiler die Methode (Klasse, Feld) als veraltet markiert und die IDEs haben Warnungen angezeigt, auch wenn keine Quelle verfügbar war.
da einige kleinere Erklärungen fehlten
Verwenden Sie die @DeprecatedAnnotation für diese Methode
/**
* @param basePrice
*
* @deprecated reason this method is deprecated <br/>
* {will be removed in next version} <br/>
* use {@link #setPurchasePrice()} instead like this:
*
*
* <blockquote><pre>
* getProduct().setPurchasePrice(200)
* </pre></blockquote>
*
*/
@Deprecated
public void setBaseprice(int basePrice) {
}
<br/>{@link #setPurchasePrice()}Sie können zwei Dinge tun:
@Deprecatedder Methode die Anmerkung hinzu, und@deprecateddem Javadoc der Methode ein Tag hinzuDu solltest beides tun !
Zitieren der Java-Dokumentation zu diesem Thema:
Ab J2SE 5.0 wird eine Klasse, Methode oder ein Feld mithilfe der Annotation @Deprecated verworfen. Darüber hinaus können Sie das @deprecated Javadoc-Tag verwenden, um Entwicklern mitzuteilen, was stattdessen verwendet werden soll.
Durch die Verwendung der Annotation generiert der Java-Compiler Warnungen, wenn die veraltete Klasse, Methode oder das veraltete Feld verwendet wird. Der Compiler unterdrückt veraltete Warnungen, wenn eine veraltete Kompilierungseinheit eine veraltete Klasse, Methode oder ein veraltetes Feld verwendet. Auf diese Weise können Sie ältere APIs erstellen, ohne Warnungen zu generieren.
Es wird dringend empfohlen, das Tag Javadoc @deprecated mit den entsprechenden Kommentaren zu verwenden, in denen die Verwendung der neuen API erläutert wird. Dadurch wird sichergestellt, dass Entwickler über einen funktionsfähigen Migrationspfad von der alten API zur neuen API verfügen