package me.study.com.springboot.test;
/**
* get line number of code
* @author luckee 2019/6/13 22:21
* @since
*/
public class GetLineNumber {
public static void main(String[] args){
getLineNumber();
}
public static void getLineNumber(){
StackTraceElement element = Thread.currentThread().getStackTrace()[1];
System.out.println(element.getLineNumber());
System.out.println(element.getFileName());
System.out.println(element.getClassName());
System.out.println(element.getMethodName());
System.out.println(element.toString());
}
}
结果如下
14
GetLineNumber.java
me.study.com.springboot.test.GetLineNumber
getLineNumber
me.study.com.springboot.test.GetLineNumber.getLineNumber(GetLineNumber.java:14)
getStackTrace
函数返回的是一个当前线程的方法栈里面的所有栈帧,是一个数组,第一个是getStackTrace
,第二个是getLineNumber
,第三个是main
,因为方法栈是先进后出的。