首頁  >  文章  >  Java  >  在Java 9中,我們什麼時候可以使用StackWalker.getCallerClass()方法?

在Java 9中,我們什麼時候可以使用StackWalker.getCallerClass()方法?

王林
王林轉載
2023-09-08 08:45:12765瀏覽

在Java 9中,我们什么时候可以使用StackWalker.getCallerClass()方法?

Java 9 為延遲存取提供了一種有效的堆疊遍歷方式,使用 StackWalker API 過濾堆疊追蹤。 StackWalker 的物件可以讓我們遍歷以及對堆疊的存取。此類別包含一些有用的方法,例如 walk()forEach()getCallerClass()

getCallerClass() 方法傳回呼叫該方法的類別。為了掌握呼叫類別實例,我們在取得 StackWalker 實例時需要 RETAIN_CLASS_REFERENCE RETAIN_CLASS_REFERENCE 保留 StackWalker 遍歷的所有類別的實例。

語法

<strong>public Class<?><!--?--> getCallerClass()</strong>

範例

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(<strong>StackWalker.getInstance</strong>(<strong>Option.RETAIN_CLASS_REFERENCE</strong>).<strong>getCallerClass()</strong>);
   }
}

輸出

<strong>class StackWalkerTest1</strong>

以上是在Java 9中,我們什麼時候可以使用StackWalker.getCallerClass()方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除