Android Deprecated Annotation 已弃用,有什么替代品?

YaM*_*MiN 79 java android annotations deprecated

已弃用 根据官方 Android 文档Deprecated 本身在 API 级别 S 中已弃用。 那么,Deprecated 本身已弃用的替代品是什么?

编辑:添加了网络存档链接以供历史参考。

Ste*_*n C 82

这是一个文档错误。(而且已经修复了!)

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. 
Run Code Online (Sandbox Code Playgroud)

显然,该工具将{@code @deprecated}解释为@deprecatedjavadoc 标记metalava。这导致metalava将“缺失”@Deprecated注释注入到 Android JAR 文件中的“.class”文件中。据推测,注入的注释随后被合并到网站上生成的 javadoc 中。

荣誉对马诺哈尔·雷迪用于寻找漏洞的问题跟踪器。

您可以在此处找到他们所做的修复。


值得java.lang.Deprecated一提的是,一个源自 Oracle / OpenJDK Java(即标准 Java)类库的类。没有很好的理由,Android不会/不应该故意弃用它。它会给 Java <-> Android 可移植性造成另一个障碍。

  • 感谢此 reddit 评论 https://www.reddit.com/r/mAndroidDev/comments/lr1w8s/deprecated_is_now_deprecated/gok7tv1 (7认同)
  • 不过,那会很搞笑:) (2认同)