Почему в правильном решении везде стоит 2? И не совсем понятно как работает конструкция Thread.currentThread().getStackTrace()[1].getMethodName();
package com.javarush.task.jdk13.task09.task0902;
/*
И снова StackTrace
*/
public class Solution {
public static void main(String[] args) {
method1();
}
public static String method1() {
method2();
return Thread.currentThread().getStackTrace()[0].getMethodName();
}
public static String method2() {
method3();
return Thread.currentThread().getStackTrace()[1].getMethodName();
}
public static String method3() {
method4();
return Thread.currentThread().getStackTrace()[2].getMethodName();
}
public static String method4() {
method5();
return Thread.currentThread().getStackTrace()[3].getMethodName();
}
public static String method5() {
return Thread.currentThread().getStackTrace()[4].getMethodName();
}
}