标记为“已弃用”的API方法何时真正消失?

我正在代码中审查一位同事所做的更改,他添加了对的调用Date.toMonth()Date.toYear()以及其他不赞成使用的Date方法。所有这些方法在JDK

1.1中均已弃用,但他坚持认为可以使用它们,因为它们还没有消失(我们正在使用JDK

1.5),我是说它们可能有一天会消失,他应该使用Calendar方法。

当这些事情消失时,Sun / Oracle是否真的说过,还是@deprecated只意味着您失去了风格点?

回答:

关于API,…未指定它们将很快被删除。

J2SE 5.0中的不兼容(自1.4.2开始):

源兼容性

[…]

通常,该政策如下,但以下列出的不兼容之处除外:

不推荐使用的API是仅支持向后兼容的接口。除非使用-

nowarn命令行选项,否则只要使用其中之一,javac编译器就会生成一条警告消息。建议修改程序,以消除对过时的API的使用,

从系统中完全 (JVMDI和JVMPI除外)。

即使在其“

如何以及何时弃用API”中,也没有任何关于实际

删除 不赞成使用的API 的政策…


10年后更新,新的JDK9 + 折旧阐明了折旧政策。

有关更多详细信息,请参见 Jens Bannmann的答案。

这也是详见本博客文章Vojtěch鲁齐卡,继上JEP

277的批评。

JDK的约定是,一旦将JDK API标记为forRemoval=true某个Java版本中的JDK API ,

这意味着-当某些东西forRemoval=true在Java 9中标记为时,应该在Java 10中将其完全删除。

请注意,此约定仅适用于JDK本身,第三方库可以自由选择他们认为合适的任何约定。

以上是 标记为“已弃用”的API方法何时真正消失? 的全部内容, 来源链接: utcz.com/qa/420717.html

回到顶部