在Java 9中对try-with-resources语句进行了改进。如果我们已经有一个最终的或等同于最终变量的资源,那么我们可以在try-with-resources语句中使用该变量,而不必在try-with-resources语句中声明一个新变量。
我们可以在try块中声明多个资源 。Try初始化块可以具有任意数量的资源,从而导致空资源或非空资源。
在下面的示例中,我们可以在try-with-resources语句中声明多个资源。
import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; import java.io.StringReader; public class MultipleResourcesTest { public static void main(String args[]) throws IOException { System.out.println(readData("test")); } static String readData(String message) throws IOException { try(Reader inputString = new StringReader(message); BufferedReader br = new BufferedReader(inputString)) { return br.readLine(); } } }
输出结果
test