Java 9 中 try-with-resources 中的有效 final 变量?

javaobject oriented programmingprogramming更新于 2025/9/26 16:44:17

在 Try with Resource 语句中使用的任何变量都需要在 Try 语句中声明,直到 Java 8 版本。从 Java 9 开始,此限制已被删除,并且任何 final 或 有效 final 变量都已在 Try 块内使用。有效 final 意味着变量一旦初始化就无法更改。

示例

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class EffectivelyFinalTest {
   private static File file = new File("try_resources.txt");
      public static void main(String args[]) throws IOException {
      file.createNewFile();
      BufferedReader bufferedReader = new BufferedReader(new FileReader(file));

      try(bufferedReader) {
         System.out.println("Can Use Final or Effectively Final in Try with Resources!");
      } finally {
         System.out.println("In finally block");
      }
}
}

输出

Can Use Final or Effectively Final in Try with Resources!
In finally block

相关文章


有用资源