Android 已弃用的注释已弃用,什么是替换?

2022-08-31 11:55:16

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

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


答案 1

这是一个文档错误。(它已被修复!

该批注并未真正弃用。Deprecated

显然,发生的事情是源代码在其javadoc注释中包含了这一点:Deprecated

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

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

感谢Manohar Reddy在问题跟踪器中找到错误

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


值得一提的是,它是一个起源于Oracle / OpenJDK Java(即标准Java)类库的类。Android不会/不应该在没有充分理由的情况下故意弃用它。这将给Java<>Android可移植性带来另一个障碍。java.lang.Deprecated


答案 2

推荐