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

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

Try with Resource 语句中使用的任何变量都需要在 Try 语句中声明,直至 Java 8 版本。从Java 9开始,此限制已被删除,并且任何final 有效final变量已在尝试阻止。 Effectively 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));

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

输出

<strong>Can Use Final or Effectively Final in Try with Resources!
In finally block</strong>

以上就是Java 9中的try-with-resources中的有效final变量?的详细内容,更多请关注其它相关文章!