我想让我的一个方法“deprecated”=不再使用。
但我仍然希望在我的API中有它。我只是想对使用该方法的人显示“警告”。
我怎样才能做到呢?
我想让我的一个方法“deprecated”=不再使用。
但我仍然希望在我的API中有它。我只是想对使用该方法的人显示“警告”。
我怎样才能做到呢?
当前回答
看一下@Deprecated注释。
其他回答
同时使用@Deprecated注释和@Deprecated JavaDoc标记。
@deprecated JavaDoc标记用于文档编制。
@Deprecated注释指示编译器该方法已弃用。以下是在Sun/ oracle文档中关于这个主题的描述:
使用@Deprecated注释来弃用一个类、方法或字段,可以确保所有编译器在代码使用该程序元素时都会发出警告。相比之下,并不能保证所有编译器都会根据@deprecated Javadoc标记发出警告,尽管Sun编译器目前是这样做的。其他编译器可能不会发出这样的警告。因此,使用@Deprecated注释生成警告比依赖@Deprecated Javadoc标记更具可移植性。
你可以在如何和何时弃用api上找到完整的文档
看一下@Deprecated注释。
为您的方法使用@Deprecated注释,您也应该在javadocs中提到它。
使用@Deprecated on方法。不要忘记澄清javadoc字段:
/**
* Does some thing in old style.
*
* @deprecated use {@link #new()} instead.
*/
@Deprecated
public void old() {
// ...
}
因为缺少一些小的解释
在方法上像这样使用@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()}