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 @Deprecated
auf 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() {
// ...
}
reason
mit dem Standardwert von ""
konnte nicht schaden
@deprecated
Nachricht im Kommentar könnte hinzugefügt werden @Deprecated
(ein Punkt, um sie alle zu beheben) ...
Verwenden Sie sowohl die @Deprecated
Annotation als auch das @deprecated
JavaDoc-Tag.
Das @deprecated
JavaDoc-Tag wird zu Dokumentationszwecken verwendet.
Die @Deprecated
Anmerkung weist den Compiler an, dass die Methode veraltet ist. Folgendes steht im Sun / Oracles-Dokument zu diesem Thema:
Durch die Verwendung der
@Deprecated
Annotation 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@deprecated
Javadoc-Tag ausgeben , obwohl die Sun-Compiler dies derzeit tun. Andere Compiler geben solche Warnungen möglicherweise nicht aus. Daher ist die Verwendung der@Deprecated
Anmerkung zum Generieren von Warnungen portabler als die Verwendung des@deprecated
Javadoc-Tags.
Das vollständige Dokument finden Sie unter Wie und wann APIs veraltet sind
@deprecated
Javadoc-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 @Deprecated
Annotation 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:
@Deprecated
der Methode die Anmerkung hinzu, und@deprecated
dem 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