Rumah >Java >javaTutorial >API StackWalker dalam Java 9?
StackWalker API membenarkan penapisan mudah dan akses tertunda untuk melaksanakan tugas dalam sebarang kaedah. Ia adalah API yang cekap dalam Java 9 untuk mendapatkan maklumat surih tindanan.
Tiga kelas baharu yang penting telah ditambahkan pada API StackWalker: StackWalker, StackWalker.StackFrame dan StackWalker.Option.
StackWalker − Ia adalah kelas utama dalam >StackWalker API. Kami menggunakan kaedah StackWalker.forEach() untuk melintasi bingkai tindanan dan mendapatkan kelas pemanggil dengan cekap dengan memanggil kaedah StackWalker.getCallerClass(). Kami menggunakan kaedah StackWalker.walk() untuk menjalankan jejak tindanan dan menggunakan fungsi pada strim bingkai tindanan.
StackWalker.StackFrame − Ia ialah kelas bersarang statik StackWalker, yang mewakili pengembalian panggilan kaedah StackWalker. Ia mempunyai kaedah untuk mengakses maklumat bingkai tindanan yang diberikan, seperti getDeclaringClass(), getLineNumber(), dsb. .
Contohimport java.util.List;
import java.util.stream.Collectors;
public class StackWalkingTest {
public static void main(String args[]) {
final <strong>List<StackWalker.StackFrame></strong> stack = StackWalker.<strong>getInstance()</strong>
.<strong>walk</strong>(s -> s.<strong>collect</strong>(Collectors.toList()));
for(<strong>StackWalker.StackFrame</strong> sf : stack) {
System.out.println(sf.<strong>getClassName()</strong> + "::" + sf.<strong>getMethodName()</strong> + ":" + sf.<strong>getLineNumber()</strong>);
}
}
}
Output<strong>StackWalkingTest::main:6</strong>
Atas ialah kandungan terperinci API StackWalker dalam Java 9?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!