web-dev-qa-db-ja.com

@deprecated vs @Deprecated

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

32
N K

@Deprecated は、コンパイラーによって読み取られる注釈で、メソッドをコンパイラーに対して非推奨としてマークするために使用され、メソッドが使用される場合、非推奨のコンパイル時警告を生成します。

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

使用例:

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

非推奨のガイド があります。詳細については、こちらをご覧ください。


より具体的に質問に答えるには、@Deprecatedまたはその両方。これは、コンパイラから情報を差し控えながら、この情報をドキュメントに制限することは意味がないためです。 @Deprecatedは、実行時およびコンパイル時に使用できるため、メソッドを気にするツール(IDEなど)に対して非推奨としてメソッドをマークします。さらに、javadocツールは@Deprecatedを使用して非推奨に関する情報を追加しなかった場合でも@deprecated

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

80
Ben Barkay

@ deprecated Javadoc Tag:@deprecatedタグを使用して、Javadocに非推奨としてプログラム要素を表示させることができます。 @deprecatedタグの後にはスペースまたは改行が必要です。

@ Deprecated@Deprecatedアノテーションを使用してクラス、メソッド、またはフィールドを非推奨にすると、コードがそのプログラム要素を使用するときにすべてのコンパイラーが警告を発行します。対照的に、すべてのコンパイラが常に@deprecated Javadocタグに基づいて警告を発行するという保証はありません。

参照 ここ

18
Nambi