我尝试编写与旧版java兼容的代码,因此它可以在任何地方使用。
另一方面,新版本中有非常强大的工具 - java 8,我想使用它们。
所以我不得不在兼容性或最丰富的代码之间做出选择。
我想知道我是否可以在java 8中编写一些方法,并以某种方式阻止旧版本的编译器忽略这些方法,所以我的类是兼容的"部分"旧版本。
感谢。
答案 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中的方法或类不可用,也可以使代码自动防故障。这样做非常麻烦,我很确定它不是你想要的。