我想让我的一个方法“弃用”=不再使用了。
但我仍然想在我的API中使用它。我只想向使用该方法的任何人显示“警告”。
我怎样才能做到这一点?
答案 0 :(得分:545)
在方法上使用@Deprecated
。不要忘记澄清javadoc字段:
/**
* Does some thing in old style.
*
* @deprecated use {@link #new()} instead.
*/
@Deprecated
public void old() {
// ...
}
答案 1 :(得分:85)
同时使用@Deprecated
注释和@deprecated
JavaDoc标记。
@deprecated
JavaDoc标记用于文档目的。
@Deprecated
注释指示编译器不推荐使用该方法。以下是Sun / Oracles关于该主题的文件中的内容:
找到完整的文档使用
@Deprecated
注释来弃用类,方法或字段可确保所有编译器在代码使用该程序元素时发出警告。相比之下,不能保证所有编译器总是会发出基于@deprecated
Javadoc标记的警告,尽管Sun编译器目前这样做。其他编译器可能不会发出此类警告。因此,使用@Deprecated
注释生成警告更具可移植性,依赖于@deprecated
Javadoc标记。
答案 2 :(得分:36)
因为缺少一些小的解释
对此方法
使用@Deprecated
注释
/**
* @param basePrice
*
* @deprecated reason this method is deprecated <br/>
* {will be removed in next version} <br/>
* use {@link #setPurchasePrice()} instead like this:
*
*
* <blockquote><pre>
* getProduct().setPurchasePrice(200)
* </pre></blockquote>
*
*/
@Deprecated
public void setBaseprice(int basePrice) {
}
<br/>
{@link #setPurchasePrice()}
答案 3 :(得分:35)
您可以做两件事:
@Deprecated
注释添加到方法中,然后@deprecated
标记添加到方法您应同时执行!
就此主题引用java documentation:
从J2SE 5.0开始,您可以使用@Deprecated批注来弃用类,方法或字段。此外,您可以使用@deprecated Javadoc标记告诉开发人员使用什么。
使用注释会导致Java编译器在使用不推荐使用的类,方法或字段时生成警告。如果不推荐的编译单元使用不推荐使用的类,方法或字段,则编译器会禁止弃用警告。这使您可以构建旧API而不会生成警告。
强烈建议您使用Javadoc @deprecated标记以及解释如何使用新API的相应注释。这可确保开发人员拥有从旧API到新API的可行迁移路径
答案 4 :(得分:8)
使用annotation @Deprecated
作为您的方法,您还应该在javadoc中提及它。
答案 5 :(得分:4)
查看@Deprecated
注释。