【问题标题】:RetentionPolicy of RUNTIME in old JRE?旧 JRE 中 RUNTIME 的 RetentionPolicy?
【发布时间】:2014-03-29 08:38:38
【问题描述】:

当使用RetentionPolicy#RUNTIME 注释的类或接口被加载到旧的 JRE 中时会发生什么?

@FunctionalInterface // Java8 @Retention(RetentionPolicy.RUNTIME)
public interface MyFunctional {
}

以上接口或任何类实现该接口可以在 JRE 7 或更早版本中运行吗?

【问题讨论】:

  • 尝试时会发生什么?为什么要在 Java 7 上运行依赖于 Java 8 类和特性的代码?
  • @JBNizet 我完全期待您的评论。谁可能安装了多台 JRE 机器?我知道即使在我安装了 JRE8 之后,我的机器上仍然保留着旧的 JRE7,我自己也会完成
  • 我的机器上(至少)安装了 3 个不同的 JDK。而且我猜几乎所有 Java 开发人员都安装了多个 JDK,因为有些项目使用 Java 6,有些使用 Java 7,有些使用 Java 8。

标签: java annotations runtime retention


【解决方案1】:

注解的处理方式与其他普通类略有不同。如果 JVM 无法加载运行时注解的注解类,则该注解将被丢弃,并且您无法再找到存在注解的提示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 2020-03-20
    • 2015-05-18
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多