
在Java 9中,Try-with-resources语句已经得到改进。如果我们已经有一个资源是final或等同于final变量,那么我们可以在try-with-resources语句中使用该变量,而不需要在try-with-resources语句中声明一个新变量。
我们可以在try块中声明多个资源。try初始化块可以有任意数量的资源,这些资源可以是null或非null。
在下面的示例中,我们可以在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











