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

use*_*643 14 java annotations deprecated

我将在Java中弃用一个类.

@Deprecated
class deprecatedClass
Run Code Online (Sandbox Code Playgroud)

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

List<deprecatedClass> listOfDeperecatedClass
Run Code Online (Sandbox Code Playgroud)

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


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

SQB*_*SQB 6

不,您不需要。添加注释@DeprecatedDeprecatedClass每次使用都会产生警告。


但是,您应该做的是在其他类中标记将不赞成使用的类作为参数或将其返回的方法。这样就可以使其他代码可以访问已弃用的类的实例(公共字段,常量等)。当然,如果没有弃用的类的实例就不能使用这些选项,因此无论如何都会给出警告,但是在正确的弃用注释和注释中,您应该提供解释并指向替代方法,这是您需要提供的有价值的信息给。

方法签名就像合同,类签名也一样。您正在告诉其他程序员他们可以调用哪些方法以及如何调用它们。您要告诉他们哪些字段可以访问。其他程序员则以此为基础。如果您确实需要违反该合同,则首先需要提供该合同的替代品(具有相同功能的新方法),并告诉他们并给他们时间切换到该新合同(不赞成使用旧方法和类) 。

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


Kep*_*pil 4

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