কম্পিউটার টিউটোরিয়াল

জাভা ৯-এ ট্রাই-উইথ-রিসোর্সে (try-with-resources) ইফেক্টিভলি ফাইনাল (Effectively Final) ভেরিয়েবল


Try with Resource স্টেটমেন্টের মধ্যে ব্যবহার করা যেকোনো ভেরিয়েবল জাভা ৮ ভার্সন পর্যন্ত Try স্টেটমেন্টের ভিতরে ডিক্লেয়ার করা আবশ্যক ছিল। জাভা ৯ থেকেই এই বাধা সরিয়ে দিয়েছে, এবং যেকোনো ফাইনাল (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));
        
        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

  1. জাভাতে ফাইনাল প্যারামিটার কী

  2. জাভাতে ফাইনাল ক্লাস

  3. জাভাতে ফাইনাল ভেরিয়েবল

  4. জাভাতে final কীওয়ার্ড