我可以弃用一个函数或class @Deprecated注解。但是,XML注释中的@deprecated条目本身将该类/函数标记为已弃用。 @deprecated实际上是否使类/函数不被使用?@deprecated vs @Deprecated
回答
@Deprecated
是由编译器读取注释,用于标记的方法,对已过时如果使用该方法,则编译器将生成一个弃用编译时警告。
@deprecated
是一个javadoc标签,用于提供有关弃用的文档。你可以用它来解释为什么该方法已被弃用,并提出一个替代方案。将此标记与@Deprecated注释结合使用才有意义。
实例:
/**
* This method does ...
* @deprecated As of <product> <version>, because ... use
* {@link #replacementMethod()} instead.
*/
@Deprecated
public void deprecatedMethod() {
// ...
}
这里是一个guide on deprecation,检查出来的更多信息。
为了更具体地回答你的问题,你应该使用@Deprecated
或两个,因为它是没有意义的,你想这个信息,而从编译器扣缴仅限于文档。 @Deprecated
将您的方法标记为任何关心它的工具(如IDE),因为它在运行时和编译时可用。另外,即使您没有使用@deprecated
添加有关弃用的任何信息,javadoc工具也会注意到@Deprecated
。
仅仅将您的方法记录为弃用而不是注释它们意味着用户将不得不手动搜索用法而不是使用诸如编译器或他们自己的工具之类的工具。
“弃用指南”链接不是更活跃。我建议你修复它。谢谢 – gersonZaragocin
@gersonZaragocin谢谢你,我更新了链接。 :) –
你可以说链接是...弃用! :D 无论如何,有谁知道Eclipse为什么会触及并用红色标记'@ deprecated'方法的调用,但不是'@ Deprecated'方法的调用?我会期待它相反或标记为两个。它也没有告诉我使用任何一个,但这可能是因为我的设置。 – Fabian
@deprecated Javadoc标签: 您可以使用@deprecated标签来使Javadoc显示一个程序元素已弃用。 @deprecated标签后面必须跟一个空格或换行符。
@Deprecated 使用@Deprecated注释弃用一个类,方法或字段确保当代码使用该程序元件所有的编译器将发出警告。与此相反,也不能保证,基于@deprecated Javadoc标记所有的编译器会一直发出警告
参考here
感谢您提供文档链接! –
好的答案Nambi :) –
- 1. mysql_ deprecated
- 2. Titanium.Platform.id DEPRECATED in 1.8.0
- 3. actionbar setnavigationmode deprecated
- 4. Hibernate:MethodConstraintViolation is deprecated
- 5. 道场DEPRECATED dojo.moduleUrl
- 6. Pear Error Deprecated
- 7. Titanium.Ti.Media.VideoPlayer.movieControlMode DEPRECATED
- 8. PHPStorm忽视@deprecated comment
- 9. Sprockets :: Environment#path is deprecated
- 10. 禁止`deprecated`在Xcode
- 11. ActiveRecord :: Base deprecated destroy method
- 12. YUI getElementById('id')。value deprecated?
- 13. Joda-Time Hibernate PersistentYearMonthDay Deprecated
- 14. @Deprecated SerializationFeature.WRITE_EMPTY_JSON_ARRAYS的替代品
- 15. 警告:: warnif('deprecated'...)用鲤鱼?
- 16. Java注释与像@Deprecated
- 17. 为什么@deprecated的RetentionPolicy是RUNTIME?
- 18. 什么是@deprecated in java的反向
- 19. express js error:“express deprecated res.sendfile:Use res.sendFile instead”
- 20. Error $ HTTP_RAW_POST_DATA is deprecated,use the php:// input stream instead。“
- 21. 定义几个class @Deprecated立刻
- 22. Angular 2 routing-deprecated:如何检测CanActivate?
- 23. HTML4 strict:border =“0”is deprecated,how to replace it
- 24. React Native - “ProgressBarAndroid is deprecated。Use ActivityIndicator instead”
- 25. 为什么所有的Angular 2.0 DI API都被标记为@deprecated?
- 26. Python 2.7.9 Mac OS 10.10.3消息“setCanCycle:is deprecated。Please use setCollectionBehavior instead”
- 27. 为什么@Deprecated在这里不起作用?
- 28. 在接口上使用@Deprecated表示法有什么好处?
- 29. 我可以忽略代码中的“twitter bootstrap is deprecated”警告吗?
- 30. Clang C++抑制-Wno-deprecated-每个文件的声明
你的意思是Javadoc的评论?你在问什么XML评论? –
@ElliottFrisch,是的。我是C#开发人员,我以我的观点说过。 Javadoc是Java中的术语。 –
@波希米亚,请阅读您标记为原创的问题的答案。他们都强制只使用@@弃用或两者都使用。不仅@@已弃用 –