模块 java.base
 java.lang

注解 接口 Deprecated


注释为 @Deprecated 的程序元素是不鼓励程序员使用的。一个元素可能由于多种原因中的任何一个而被弃用,例如,它的使用可能会导致错误;它可能会在未来的版本中被不兼容地更改或删除;它已被更新的、通常更可取的替代方案所取代;或者它已经过时了。

当在非弃用代码中使用或覆盖已弃用的程序元素时,编译器会发出警告。在局部变量声明或参数声明或包声明上使用 @Deprecated 注释对编译器发出的警告没有影响。

当一个模块被弃用时,在 requires 中使用该模块,而不是在 exportsopens 子句中使用会导致发出警告。一个被弃用的模块确实not导致针对模块内类型的使用发出警告。

此注释类型具有字符串值元素 since 。此元素的值指示带注解的程序元素首次弃用的版本。

此注释类型具有boolean元素 forRemovaltrue 的值表示打算在未来版本中删除带注解的程序元素。 false 值表示不鼓励使用带注解的程序元素,但在程序元素被注释时,并没有删除它的具体意图。

API 注意:
强烈建议使用 @deprecated javadoc 标记在文档中解释弃用程序元素的原因。如果适用,文档还应该建议并链接到推荐的替换 API。替换 API 通常具有细微不同的语义,因此也应讨论此类问题。

建议为所有新注释的程序元素提供一个since值。请注意,since 不能是强制性的,因为有许多现有注释缺少此元素值。

注解元素之间没有定义的顺序。作为样式问题,since 元素应该放在第一位。

如果存在 @deprecated javadoc 标记,则应始终存在 @Deprecated 注释,反之亦然。

Java 语言规范:
9.6.4.6 @弃用
自从:
1.5
  • 可选元素摘要

    可选元素
    修饰符和类型
    可选元素
    描述
    boolean
    指示带注解的元素是否会在未来版本中删除。
    返回已弃用注解元素的版本。
  • 元素详细信息

    • since

      String  since
      返回已弃用注解元素的版本。版本字符串的格式和命名空间与 @since javadoc 标记的值相同。默认值为空字符串。
      返回:
      版本字符串
      自从:
      9
      默认:
      ""
    • forRemoval

      boolean forRemoval
      指示带注解的元素是否会在未来版本中删除。默认值为 false
      返回:
      元素是否需要移除
      自从:
      9
      默认:
      false