StackTrace Java
public class Solution {
public static void main(String[] args) {
System.out.println(method1().length);
}
public static StackTraceElement[] method1() {
return Thread.currentThread().getStackTrace();
}
}
Не могу понять почему длина 3? как это вообще высчитывается? Это длина массива или длина метода? Что такое 3, это какой-то порядковый номер или количество элементов/строк или еще чего-то?
Ответы (1 шт):
Автор решения: StateItPrimitive
→ Ссылка
Все дело в том, что сам вызов метода getStackTrace() также попадает в stack trace, который в итоге выглядит следующим образом:
Solution#main();Solution#method1();java.lang.Thread#getStackTrace().
P.S. указал в прямом порядке для удобства восприятия, на стеке же это лежит в обратном порядке.