亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java 9 @Deprecated 注解增强:forRemoval 与 since 属性

增强动机

@Deprecated 自 Java 5 起存在,但仅标记“不推荐使用”,未区分“将来会移除”还是“仅建议迁移”。Java 9 新增两个属性提供语义精度:

注解定义

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, MODULE, PARAMETER, TYPE})
public @interface Deprecated {
    String since() default "";
    boolean forRemoval() default false;
}

标准库示例

Boolean 类:since 属性

@Deprecated(since="9")
public static Boolean valueOf(String s) { ... }

标明自 Java 9 起废弃,建议使用 Boolean.parseBoolean() 或 valueOf(boolean)。

System 类:forRemoval 属性

@Deprecated(forRemoval=true, since="9")
public static void runFinalizersOnExit(boolean value) { ... }

标明将在未来版本移除,且自 Java 9 起废弃,调用者应立即迁移。

工具链支持

最佳实践

  1. 库作者:新废弃 API 显式标注 @Deprecated(since="X", forRemoval=true/false)。
  2. 应用开发者:启用 -Xlint:deprecation,removal 编译检查,定期运行 jdeprscan。
  3. 优先处理 forRemoval=true 的调用点,制定迁移计划。
  4. 配合 @since 文档标签,保持源码与注解一致。

java

  1. 精通 Java 运算符:类型、语法与实战示例
  2. Java 注释:类型、用法与最佳实践
  3. 精通 Java 增强 for 循环:语法、示例与最佳实践
  4. 精通 Java 字符串:创建、方法与最佳实践
  5. 精通 Java 接口:概念、实现与最佳实践
  6. 精通 Java 匿名内部类:定义、语法与实战示例
  7. 精通 Java Try-With-Resources:自动资源管理详解
  8. Java 注解详解:类型、放置位置与实战示例
  9. Java 注解类型完全指南:预定义、自定义与元注解
  10. Java 断言实战指南:尽早发现 Bug 与保障代码可靠性
  11. 深入理解 Java Vector:用法、特性及与 ArrayList 的对比
  12. Java 10 垃圾收集器接口与 G1 并行 Full GC