@Deprecated public class Betamax { ... }
上記の例では、@Deprecated にはどのような効果がありますか? それは純粋にドキュメンテーションですか?それとも、コンパイラがこのクラスをどのように扱うかについて何かを変更しますか?
@Deprecated public class Betamax { ... }
上記の例では、@Deprecated にはどのような効果がありますか? それは純粋にドキュメンテーションですか?それとも、コンパイラがこのクラスをどのように扱うかについて何かを変更しますか?
コンパイラは、(checks や croaks のように) いくつかの注釈 ( など@Override
) を強制します。
しかし、最も便利な部分は、Java 言語 (JDK コア) が何も知らない独自の注釈 (@Entity
や など) をライブラリが提供できることです。@PersistenceAware
これは、言語にドメイン固有の構文糖衣を追加するようなものです。
@Deprecated
ドキュメンテーション用です。また、古い JavaDoc@deprecated
タグと同様に、非推奨のメソッド (またはクラス) を使用すると、コンパイラの警告が生成されます。
純粋にドキュメンテーション用です。
何かを非推奨としてマークすると、生成された Javadoc を介して、このメソッド/クラスを使用しないことをユーザーに示します。
Date(int year, int month, int date): 非推奨。JDK バージョン 1.1 以降、Calendar.set(年 + 1900 年、月、日) または GregorianCalendar (年 + 1900 年、月、日) に置き換えられました。
何かを非推奨としてマークする場合は、このメソッドの代わりに何を使用する必要があるかをユーザーに示すことをお勧めします。