标记为“已弃用”的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