What will happen when a Class or Interface who is annotated with an annotation of RetentionPolicy#RUNTIME is loaded in old JREs?

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

Is above interface or any class implement that interface can run in JRE 7 or older?

有帮助吗?

解决方案

Annotations are handled slightly different than other normal classes. If the JVM cannot load the annotation class for a runtime annotation, this annotation will be dropped and you cannot find hints anymore that there was an annotation.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top