直接来自这个oracle 教程:
在 Java SE 7 及更高版本中提供的 JDBC 4.1 中,您可以使用 try-with-resources 语句自动关闭
这是否意味着如果我将 Java 7 与 JDBC 4.0 或以前的版本一起使用,我将无法使用 try-with-resources 语句?
提前致谢。
在 Java 7 中使用带有 JDBC 4.0(或更早版本)驱动程序的 try-with-resource 将起作用。您的应用程序使用java.sql
Java 7 中的接口,正是这些接口实现了java.lang.AutoCloseable
. JDBC 4.0 实现将有一个close()
符合AutoCloseable
约定的方法(即它有一个方法close()
并且它抛出一个 的子类Exception
),所以它可以工作。
它不是针对接口的“版本”编译的事实并不重要,决定它是否工作的是接口和实现的运行时组合。这是类链接和Java 语言规范中定义的二进制兼容性的结果。