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中文網其他相關文章!