Решил задачу но непонятно, что мы указываем в скобках [...]?
return Thread.currentThread().getStackTrace()[2].getLineNumber();
Виктор
20 уровень
Объясните, что означает в записи [2]
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #2224976
2 февраля 2020, 08:09полезный
Представь, что Stack Trace - это обычный массив, в каждом элементе которого записано, а что же программа будет делать дальше - по порядку. Как только программа это сделала - первый элемент [0] . удаляется и на его место смещается второй элемент. Как заказы в ресторане.
Так вот, чтобы программа работала, первое задание программы (0-й элемент) - вызвать сам стек трейс. Второй вызов (элемент 1) - это вызов метода, в котором находится стек трейс. Ну а третье задание (элемент 2) - это вызов метода, который вызвал метод со стрек трейсом.
Указываешь в скобках индекс в массиве вызовов программы, вот поэтому и 2.
+8