1. ホーム
  2. java

[解決済み] Android Deprecated Annotationは非推奨、その代わりとなるものは?

2023-06-12 03:05:39

質問

によると Android 公式ドキュメント Deprecated自体はAPIレベルSで非推奨となっています。では、非推奨となっているDeprecatedの代わりとなるものは何でしょうか?

編集:ウェブアーカイブを追加 リンク を追加しました。

どのように解決するのですか?

ドキュメントのバグでした。 (そして、それは修正されました!)

Deprecated アノテーションは、実際には非推奨ではありません。

どうやら何が起こったかというと、ソースコードにある Deprecated のソースコードが javadoc コメントにこれを含んでいたことです。

 * @apiNote
 * It is strongly recommended that the reason for deprecating a program element
 * be explained in the documentation, using the {@code @deprecated}
 * javadoc tag. 

どうやら、この {@code @deprecated} として解釈されたようです。 @deprecated javadoc タグとして解釈され metalava というツールを使っています。 これによって metalava が注入され、"missing" @Deprecated のアノテーションを Android JAR ファイル内の ".class" ファイルに注入しています。 おそらく、注入された注釈は、その後 Web サイトで生成された javadocs に組み込まれたと思われます。

クドス Manohar Reddy を見つけたことに バグ を発見してください。

修正された内容を見ることができます はこちら .


何はともあれ java.lang.Deprecated は、Oracle / OpenJDK Java (つまり標準の Java) クラス ライブラリに由来するクラスです。 アンドロイド はしない / すべきではない Android は、非常に正当な理由なく、意図的にこれを非推奨にすることはないでしょう / すべきではないでしょう。 これは、Java <-> Android の移植性に対して別のハードルを作ることになります。