JDK 9 @不建议使用的注释增强功能
在帖子中, @ Deprecated可能會是什么樣子? ,我當(dāng)時使用JEP 277 (“增強的棄用”)的描述來指導(dǎo)創(chuàng)建增強的自定義@Deprecated注釋。 但是,自從發(fā)布該文章以來,JEP 277進行了重大更改。該文章總結(jié)了JDK 9的更改以及@Deprecated的當(dāng)前計劃的增強功能。
在2016-03-03 18:04對JDK-8065614 (“ JEP 277:增強的棄用”)所做的更改刪除了JEP描述中描述擬議的@Deprecated枚舉的部分。 JEP 277主頁上的“ 替代方法 ”部分介紹了為何刪除枚舉的原因:
該提案的先前版本包含各種“原因”代碼,包括未審查,危險,過時,已取代,未完成和實驗。 這些嘗試嘗試編碼不推薦使用API??的原因,使用它的風(fēng)險以及是否有可用的替代API。 實際上,所有這些信息都過于主觀,無法在注釋中編碼為值。 而是應(yīng)在Javadoc文檔注釋中描述此信息。
修改后的@Deprecated注釋現(xiàn)在支持兩種方法,如API文檔中所示。 該文檔解釋說, forRemoval()方法 “指示可評估的元素是否在將來的版本中會被刪除”,并且默認情況下返回false 。 since()方法文檔指出,第二個方法“返回已棄用帶注釋元素的版本”,并且默認情況下返回空字符串。
forRemoval()和since()的默認值false和""分別是有意義的,因為這些默認值對應(yīng)于今天無法使用@Deprecated指定此信息。 因為在代碼庫中已經(jīng)有@Deprecated無數(shù)用法,所以使@Deprecated這些現(xiàn)有用法對應(yīng)于沒有計劃的刪除和沒有指定的“自”是最有意義的。 開發(fā)人員將能夠根據(jù)需要將這些值添加到現(xiàn)有@Deprecated批注中。
這些是@Deprecated批注的次要添加,但是新的@Deprecated仍然比我們在Java早期版本中的今天要好得多,因為我們現(xiàn)在可以在批注本身中指定棄用的兩個非常重要的特征。 指定何時不建議使用構(gòu)造以及何時計劃完全刪除它,可以提供與不贊成使用有關(guān)的具有潛在洞察力的歷史和未來信息。
翻譯自: https://www.javacodegeeks.com/2016/08/jdk-9-deprecated-annotation-enhancements.html
總結(jié)
以上是生活随笔為你收集整理的JDK 9 @不建议使用的注释增强功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑用的抽奖软件(电脑随机抽奖软件推荐)
- 下一篇: 资源泄漏:救援的命令模式