Java @已弃用vs@弃用

Java @已弃用vs@弃用,java,deprecated,Java,Deprecated,我可以使用@Deprecated注释弃用函数或类 但是javadoc注释本身中有一个@deprecatedjavadoc标记,将类/函数标记为deprecated。@deprecatedjavadoc标记是否确实使类/函数不推荐使用?@deprecated javadoc标记: 您可以使用@deprecated标记使Javadoc将程序元素显示为deprecated。@deprecated标记后面必须跟一个空格或换行符 @已弃用 使用@Deprecated注释来弃用类、方法或字段可以确保所有编译

我可以使用
@Deprecated
注释弃用函数或类


但是javadoc注释本身中有一个
@deprecated
javadoc标记,将类/函数标记为deprecated。
@deprecated
javadoc标记是否确实使类/函数不推荐使用?

@deprecated javadoc标记: 您可以使用@deprecated标记使Javadoc将程序元素显示为deprecated。@deprecated标记后面必须跟一个空格或换行符

@已弃用 使用@Deprecated注释来弃用类、方法或字段可以确保所有编译器在代码使用该程序元素时都会发出警告。相反,不能保证所有编译器都会根据@deprecated Javadoc标记发出警告

reference

是编译器读取的注释,用于将方法标记为不推荐给编译器,如果使用该方法,将生成不推荐编译时警告

是一个javadoc标记,用于提供有关弃用的文档。您可以使用它来解释为什么该方法被弃用,并建议一种替代方法。只有将此标记与@Deprecated注释结合使用才有意义

用法示例:

/**
 * This method does ...
 * @deprecated As of <product> <version>, because ... use
 *             {@link #replacementMethod()} instead.
 */
@Deprecated
public void deprecatedMethod() {
    // ...
}
/**
*这种方法不。。。
*@不推荐使用,因为。。。使用
*改为{@link#replacementMethod()}。
*/
@不赞成
public void deprecatedMethod(){
// ...
}
这里是一个,查看它以了解更多信息


要更具体地回答您的问题,您应该使用
@Deprecated
,或者两者都使用。
@Deprecated
注释将您的方法标记为任何关心它的工具都不推荐使用,因为它在运行时和编译时都可用。javadoc工具会注意到
@Deprecated
并记录不推荐使用的内容,即使您没有使用
@Deprecated
标记


如果我们使用javadoc标记将一个方法记录为已弃用,但没有使用注释对其进行注释,那么有关弃用的信息将在编译的类文件中不可用。

您是指javadoc注释吗?你在问什么XML评论?@ElliottFrisch,是的。我是一名C#开发者,我是以自己的角度说的。Javadoc是Java中的术语。@Bohemian,请阅读您标记为原创的问题的答案。它们都强制只使用@@Deprecated或两者都使用。不仅@@deprecated“弃用指南”链接不再处于活动状态。我建议你修一下。谢谢你可以说链接是。。。不赞成!:不管怎样,有人知道为什么Eclipse会穿透并用红色标记
@deprecated
方法的调用,而不是
@deprecated
方法的调用吗?我希望它是另一种方式,或者两者都有标记。它也没有对这两种语言的使用向我显示警告,但这可能是因为我的设置。@Fabian Eclipse(和大多数其他IDE)理解javadoc(在各种其他语言/格式中),因此它似乎使用此信息将您的函数标记为已弃用。我想我的回答表明IDE不应该这样做,我想这是有争议的——当您将该项目用作编译的jar依赖项,并且没有javadoc时,会发生什么?你的方法还会被标记为不推荐吗?我会试试。。。有一天。我把它放在我的待办事项清单上,所以可能需要一段时间。