什么时候很快就可以使用新的Java功能?

我正在开发一个我计划公开发布的应用程序,或者至少与一群人共享.我作为开发人员面临的问题是兼容性.在我的机器上,我使用的是新的
Java 8,但我害怕使用它的新功能,事实上,我甚至害怕使用Java 7中的新功能,比如尝试使用资源,因为我担心用户不会拥有最新的Java版本,因此无法使用我的应用程序.例如,我学校的计算机仍然使用Java 6.

首先,我认为这是正确的吗?或者可以在具有较旧JRE的计算机上运行使用较新JDK编译的代码?如果我是正确的,是否有既定的“规则”或兼容性标准?类似于“确保您的代码与两个旧版本的JRE兼容!”或者纯粹是开发人员判断何时应该将新功能用于已发布的工作?而且只是为了强调,我说的只是运行程序.用户永远不必编译它.

我知道这有点开放,但这是我能想到的最好的地方.
谢谢.

最佳答案 首先,您始终可以通过使用-version标志进行编译来指定要支持的Java版本.这意味着,由于您使用的是Java 8,因此您可以始终强制将代码编译为较低版本(即Java 6).

关于Java版本的问题 – 是的,您可能会遇到这种情况.很多人出于某种原因不更新他们的Java版本.但是,这是您必须做出决定的地方:您选择支持他们的版本,还是选择支持其他版本?这个特殊的部分是开放式的,但取决于你最终想要在你的代码中使用什么(钻石操作符,try-with-resources(实际上非​​常好),NIO),那么你想要使用的版本适合您和您想要支持的Java.

点赞