리소스로 시도 내에서 사용된 모든 변수 진술은 시도 내에 선언되어야 합니다. 최대 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