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

জাভা ৯-এ StackWalker.getCallerClass() মেথড কখন ব্যবহার করবেন?

জাভা ৯-এ StackWalker API ব্যবহার করে লেজি অ্যাক্সেস, ফিল্টারিং সহ স্ট্যাক ওয়াকিং-এর একটি দক্ষ পদ্ধতি প্রদান করা হয়েছে। StackWalker অবজেক্ট আমাদের স্ট্যাক ট্রাভার্স ও অ্যাক্সেস করতে দেয়। এই ক্লাসে কিছু উপযোগী মেথড রয়েছে যেমন walk(), forEach() এবং getCallerClass()।

getCallerClass() মেথড

getCallerClass() মেথড সেই ক্লাসটি রিটার্ন করে যা এই মেথডকে কল করে এমন মেথডটি আহ্বান করেছে। কলিং ক্লাস ইনস্ট্যান্স পেতে হলে StackWalker ইনস্ট্যান্স পাওয়ার সময় RETAIN_CLASS_REFERENCE অপশন দরকার। RETAIN_CLASS_REFERENCE StackWalker দ্বারা ওয়াক করা সব ক্লাসের ইনস্ট্যান্স রিটেইন করে রাখে।

সিনট্যাক্স

public Class<?> getCallerClass()

উদাহরণ

import java.lang.StackWalker.Option;

public class StackWalkerTest {
    public static void main(String args[]) {
        StackWalkerTest1.test1();
    }
}

class StackWalkerTest1 {
    protected static void test1() {
        StackWalkerTest2.test2();
    }
}

class StackWalkerTest2 {
    protected static void test2() {
        System.out.println(StackWalker.getInstance(Option.RETAIN_CLASS_REFERENCE).getCallerClass());
    }
}

আউটপুট

class StackWalkerTest1
  1. জাভাতে pack() মেথড কখন ব্যবহার করবেন

  2. জাভাতে String ক্লাসের intern() মেথড কখন ব্যবহার করবেন?

  3. জাভাতে মেথডের নাম ক্লাসের নামের সাথে একই রাখা যাবে কি?

  4. জাভাতে কখন অ্যাবস্ট্রাক্ট ক্লাস এবং কখন ইন্টারফেস ব্যবহার করবেন?