我想使我的一种方法“不赞成使用” =不再使用。
但是我仍然想在我的API中使用它。我只想向使用该方法的任何人显示“警告”。
我该如何实现?
我想使我的一种方法“不赞成使用” =不再使用。
但是我仍然想在我的API中使用它。我只想向使用该方法的任何人显示“警告”。
我该如何实现?
Answers:
@Deprecated在方法上使用。不要忘记澄清javadoc字段:
/**
 * Does some thing in old style.
 *
 * @deprecated use {@link #new()} instead.  
 */
@Deprecated
public void old() {
// ...
}reason,其默认值""不会受到损害
                    @deprecated可以将评论中的消息添加到@Deprecated(修复所有问题的一个地方)...
                    同时使用@Deprecated注释和@deprecatedJavaDoc标签。
该@deprecatedJavadoc标记被用于文档目的。
所述@Deprecated注释指示编译器,该方法已被弃用。这是Sun / Oracles文档中有关该主题的内容:
使用
@Deprecated注释不赞成使用类,方法或字段,可以确保当代码使用该程序元素时,所有编译器都将发出警告。相反,@deprecated尽管Sun编译器当前这样做,但不能保证所有编译器都将始终基于Javadoc标记发出警告。其他编译器可能不会发出此类警告。因此,@Deprecated依靠@deprecatedJavadoc标记,使用注释生成警告更加可移植。
您可以在如何以及何时弃用API中找到完整的文档。
@deprecatedjavadoc标记(在Java 4-中)标记方法时,编译器将方法(类,字段)标记为已弃用,即使没有可用的源,IDE也显示警告。
                    因为缺少一些小的解释
@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()}您可以做两件事:
@Deprecated注释到方法中,然后@deprecated标记添加到方法的javadoc你们两个都应该做!
引用有关此主题的Java文档:
从J2SE 5.0开始,通过使用@Deprecated批注来弃用类,方法或字段。另外,您可以使用@deprecated Javadoc标记告诉开发人员要使用的内容。
使用注释会导致Java编译器在使用不赞成使用的类,方法或字段时生成警告。如果弃用的编译单元使用了弃用的类,方法或字段,则编译器将禁止弃用警告。这使您可以构建旧版API,而不会生成警告。
强烈建议您将Javadoc @deprecated标记与适当的注释一起使用,以解释如何使用新的API。这确保开发人员将拥有从旧API到新API的可行迁移路径。