리소스로 시도 내에서 사용된 모든 변수 진술은 시도 내에 선언되어야 합니다. 최대 Java 8 구문 버전. 자바 9 이후로 이 제한이 제거되었으며 모든 최종 또는 효과적인 최종 변수 Try 블록 내에서 사용되었습니다. 효과적인 최종 변수가 초기화되면 변경할 수 없음을 의미합니다.
예시
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