【发布时间】: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