7

@deprecated のようなアノテーションを、非推奨のコード スタイルで作成することは可能ですか?

一部のメッセージが通信プロトコルから削除されたことを示す注釈を作成したいので、非推奨の注釈を使用したくないのは、1) "メッセージ削除されました」 2) 注釈のパラメーターを指定します。たとえば、(プロトコル = 5) - プロトコル 5 から削除されました。

しかし、コードを見るだけでこのメッセージが削除されたことを他の人が知ることができるように、この取り消し線のコードを保持したいと思います。

4

5 に答える 5

5

@Deprecated アノテーションは、開発環境向けに設計されています (一般的ですが、それだけではありません)。それ自体は何もしません。しかしIDEの場合、それはある種のマーカーであり、その注釈を「見る」と、何らかのロジックを実行します(たとえば、コードを「取り消し」ます)。私の投稿の目標は、注釈を開発して使用するだけでは不十分であることを伝えることです。環境によってサポートされている必要があります。

于 2013-10-03T12:32:50.080 に答える
2

できることは 2 つあります。

@Deprecatedメソッドにアノテーションを 追加 し、メソッド@deprecatedのjavadocにタグを追加します

両方やるべき!

この件に関する Java ドキュメントを引用すると、次のようになります。

J2SE 5.0 以降では、@Deprecatedアノテーションを使用してクラス、メソッド、またはフィールドを非推奨にします。さらに、@deprecated Javadoc タグを使用して、代わりに何を使用するかを開発者に伝えることができます。

注釈を使用すると、非推奨のクラス、メソッド、またはフィールドが使用されたときに Java コンパイラが警告を生成します。非推奨のコンパイル単位が非推奨のクラス、メソッド、またはフィールドを使用している場合、コンパイラは非推奨の警告を抑制します。これにより、警告を生成せずにレガシー API を構築できます。

@deprecated新しい API の使用方法を説明する適切なコメントを含むJavadoc タグを使用することを強くお勧めします。これにより、開発者は古い API から新しい API への実行可能な移行パスを持つことができます。

于 2013-10-03T12:38:00.283 に答える
1

Deprecated アノテーションのソース コードを見ると、それを取り消し線付きで表示させる特定の要素がないことがわかります。@Deprecated コードに取り消し線を付けるのは、IDE の機能です。

ここにあります:

@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface Deprecated {
}
于 2013-10-03T12:29:45.857 に答える