是否可以将使用Java 1.6中的Swing开发的UI移植到Java 1.5而无需重新编写所有内容?
答案 0 :(得分:8)
只是详细说明duffymo说的话:
Java旨在向后兼容。 即如果你在1.5中写一些东西,你可以在1.6中运行它。 当然有限制(例如新的保留字,如断言打破它),但一般来说它工作正常。
如果你走另一条路,那就更危险了。 您当然不需要重写所有代码,但您可能使用了自1.6以来仅提供的功能。这些特征可以是新类或现有类的新方法。
另一件事是二进制代码级别。您可以设置运行1.6的编译器来创建1.5甚至1.4的代码。
但是要注意,你的1.6编译器肯定会编译1.6 rt.jar。这意味着在用1.5实际运行或编译代码之前,您不会注意到缺少的类或方法。
仅设置合规性级别意味着1.5 JRE将理解代码,而不是所有“默认”类都可用。
我对1.6细节没有任何经验,但我认为虽然1.5添加了许多新的语言功能(并不完全与1.4兼容),但1.6更多的是维护版本。
答案 1 :(得分:3)
如果你只使用两者之间常见的功能,我会说是的。它应该向后兼容。在您添加JDK 6特定功能的那一刻,您必须将它们拿出来。
答案 2 :(得分:1)
由于Swing在过去十年中变化不大,所以不应该遇到很多问题。 Java 6与Java 5相比也没有太多新功能(主要是内部清理)。
我建议您尝试使用Java 5编译您的应用并运行它。它可能开箱即用。
答案 3 :(得分:0)
如果要确保代码在1.5环境中运行,请将IDE设置为针对1.5 JDK进行构建,这样您就不会无意中使用任何新API。