2013-12-19 3 views
21

私は関数またはクラス@Deprecatedアノテーションを非難することができます。しかし、XMLの@deprecatedエントリは、クラス/関数を非推奨とマークしています。 @deprecatedは実際にクラス/関数を非推奨にしていますか?@deprecated vs @Deprecated

+0

Javadocのコメントはありますか?どのようなXMLコメントをお聞きしますか? –

+0

@ElliottFrisch、そうです。私はC#の開発者ですが、私はそれを私の見解で述べました。 JavadocはJavaの用語です。 –

+0

@ボヘミアン語、あなたはオリジナルとしてマークした質問の回答をお読みください。それらはすべて、廃止された@または廃止されたもののみを使用するように強制されます。 @@非難されただけでなく、 –

答えて

46

@Deprecatedがに非推奨の方法をマークするために使用され、コンパイラによって読み取られたアノテーションで参照してくださいではありませんコンパイラは、メソッドが使用されている場合、非推奨のコンパイル時の警告を生成します。

@deprecatedは、非推奨についてのドキュメントを提供するために使用されるjavadocタグです。これを使用して、そのメソッドが推奨されなかった理由を説明し、代替案を提案することができます。このタグを@Deprecatedアノテーションと組み合わせて使用​​することだけが理にかなっています。

使用例:

/** 
* This method does ... 
* @deprecated As of <product> <version>, because ... use 
*    {@link #replacementMethod()} instead. 
*/ 
@Deprecated 
public void deprecatedMethod() { 
    // ... 
} 

ここでは、より多くの情報のためにそれをチェックアウトし、guide on deprecationです。


は、より具体的にあなたの質問に答えるために、それはあなたがコンパイラからそれを源泉徴収しながら、この情報がドキュメントに制限されるようにしたいと思うのは意味がありませんので、あなたは @Deprecatedのいずれか、または両方を使用する必要があります。 @Deprecatedは、実行時およびコンパイル時に使用できるため、そのメソッドを使用しているツール(IDEなど)に非推奨としてマークします。さらに、javadocツールでは、 @deprecatedを使用して非推奨に関する情報を追加していなくても、 @Deprecatedの通知を受け取ります。

注釈を付ける代わりにメソッドを非推奨にするだけでは、コンパイラや独自のツールなどのツールを使用する代わりに、手動で使用法を検索する必要があります。

+1

「廃止予定のガイド」リンクはそれ以上アクティブではありません。私はそれを修正することをお勧めします。ありがとう – gersonZaragocin

+0

@ gersonZaragocinありがとう、私はリンクを更新しました。 :) –

+0

あなたはリンクが...廃止されたと言うことができます! :D とにかく、誰かがEclipseがなぜ打ち切られ、 '@ deprecated'メソッドの呼び出しを赤でマークしますが、' @ Deprecated'メソッドの呼び出しではないことを知っていますか?私はそれを別の方法で、または両方のためにマークすることを期待します。また、どちらの使用方法についても警告は表示されませんが、それは私の設定のためかもしれません。 – Fabian

14

@deprecated Javadocのタグ: あなたは非推奨としてのJavadocは、プログラム要素を表示するために@deprecatedタグを使用することができます。 @deprecatedタグの後ろにはスペースまたは改行が必要です。クラス、メソッド、またはフィールドを廃止する@Deprecated注釈を使用した を@Deprecated

は、コードがそのプログラム要素を使用する場合、すべてのコンパイラが警告を発行するようになります。これとは対照的に、すべてのコンパイラは常に@deprecated Javadocのタグ

に基づいて警告を発するという保証はありhere

+0

ドキュメントへのリンクありがとう! –

+0

ニースの答え南ビ: –

関連する問題