如何在Java 9中的try-with-resources语句中声明多个资源?

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