是否可以弃用枚举常量?

时间:2015-11-26 12:40:14

标签: java enums deprecated

是否可以在枚举常量上使用@Deprecated注释?

2 个答案:

答案 0 :(得分:5)

如果您查看javadoc,您会看到声明:

@Target(value={CONSTRUCTOR,FIELD,LOCAL_VARIABLE,METHOD,PACKAGE,PARAMETER,TYPE})

包括FIELD。如果您点击FIELD,则会转到javadoc,其中指出:

  

字段声明(包括枚举常量)

所以答案是:是的它应该可以正常工作。

答案 1 :(得分:3)

是的,在它们上面加上@Deprecated注释(大写)。例如:

public enum Status {
OK,
ERROR,

@Deprecated
PROBLEM
}
  

@Deprecated是一个由编译器读取的注释,用于将方法标记为编译器弃用,如果使用该方法,将生成弃用编译时警告。

     

@deprecated是一个javadoc标记,用于提供有关弃用的文档。您可以使用它来解释该方法被弃用的原因并建议替代方法。将此标记与@Deprecated注释结合使用才有意义。