Try with Resource स्टेटमेंट के भीतर उपयोग किए जाने वाले किसी भी वेरिएबल को Java 8 संस्करण तक Try स्टेटमेंट के भीतर घोषित करने की आवश्यकता होती है। चूंकि Java 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