如何在Java中注释对类的弃用?

时间:2013-04-09 17:45:37

标签: java annotations deprecated

我将弃用Java中的一个类。

@Deprecated
class deprecatedClass

我有这个已弃用的类的列表,

List<deprecatedClass> listOfDeperecatedClass

那么我是否也需要为此列表添加@Deprecated标记?


编辑:@Deprecated应该有一个大写字母'D' 请参阅:http://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html

4 个答案:

答案 0 :(得分:4)

不,你不需要。将注释@Deprecated添加到DeprecatedClass会在每次使用时生成警告。


所做的是在其他类中标记方法,这些方法将您不推荐使用的类作为参数或返回它,同样也弃用。这适用于其他代码可能对您不推荐使用的类的实例的访问 - 公共字段,常量等。那些当然不能在没有你弃用的calss的情况下使用,所以无论如何都要给出警告,但是在正确的弃用注释和注释中,你应该提供一个解释并指出一个替代方案,这是有价值的信息你需要给予。

方法签名就像合同一样,类签名也是如此。您告诉其他程序员他们可以调用哪些方法以及如何调用它们。您告诉他们哪些字段可以访问。其他程序员的代码基于此。如果你真的需要打破合同,首先需要提供该合同的替代品(具有相同功能的新方法),并告诉他们并给他们时间切换到新合同(弃用旧方法和类)

当然,以上假设您正在为观众编码。如果您是唯一一个使用您的代码并且您只想弃用以清除代码而不破坏构建的人,则只需弃用该类,修复警告并将其删除。

答案 1 :(得分:3)

作为公共界面的一部分,您是否在List上进行了操作?在这种情况下,也将所有这些方法标记为deprecated。否则你应该没事。

答案 2 :(得分:2)

您只需将弃用消息添加到您要弃用的任何内容的声明中。它是一个警告,人们应该避免使用已弃用的类的实现,例如在List<DeprecatedClass>中。

答案 3 :(得分:1)

标记为:

@Deprecated
List<deprecatedClass> listOfDeperecatedClass

应该没事。