Java - 编写旧版本忽略的代码

时间:2015-12-08 16:56:58

标签: java version

我尝试编写与旧版java兼容的代码,因此它可以在任何地方使用。

另一方面,新版本中有非常强大的工具 - java 8,我想使用它们。

所以我不得不在兼容性或最丰富的代码之间做出选择。

我想知道我是否可以在java 8中编写一些方法,并以某种方式阻止旧版本的编译器忽略这些方法,所以我的类是兼容的"部分"旧版本。

感谢。

3 个答案:

答案 0 :(得分:1)

您可以编写两个类并使用一些代码如ant,maven或gradle来选择使用哪个文件来编译具体的Java版本。

答案 1 :(得分:0)

即使您使用jdk 1.8,也可以将java编译器设置为针对较旧的jdk(即jdk 1.5)进行编译。见javac source and target options

答案 2 :(得分:0)

我认为简短易行的答案是否定的。 请参阅此主题:Can Java 8 code be compiled to run on Java 7 jvm?

您可以使用java reflection api来检查代码运行的jvm中是否存在方法。这样,即使jvm中的方法或类不可用,也可以使代码自动防故障。这样做非常麻烦,我很确定它不是你想要的。