一尘不染

可以将Java 8代码编译为在Java 7 JVM上运行吗?

java

Java 8引入了重要的新语言功能,例如lambda表达式。

语言的这些变化是否伴随着已编译字节码的重大变化,从而阻止了它在Java 7虚拟机上运行而无需使用某些逆向转换程序?


阅读 911

收藏
2020-03-09

共1个答案

一尘不染

不可以,在源代码中使用1.8功能要求你以1.8 VM为目标。我刚刚尝试了新的Java 8版本,并尝试使用进行编译-target 1.7 -source 1.8,但编译器拒绝了:

$ javac Test -source 1.8 -target 1.7
javac: source release 1.8 requires target release 1.8
2020-03-09