Java 在intellij中打印当前行号
我试图打印intellij中某个代码的当前行号(ide的行号)。我该怎么做Java 在intellij中打印当前行号,java,intellij-idea,Java,Intellij Idea,我试图打印intellij中某个代码的当前行号(ide的行号)。我该怎么做 1 System.out.print(getCurrentLineNo());//sample code 2 System.out.print(getCurrentLineNo());//sample code 3 System.out.print(getCurrentLineNo());//sample code 4 System.out.print(getCurrentLineNo());//sample code
1 System.out.print(getCurrentLineNo());//sample code
2 System.out.print(getCurrentLineNo());//sample code
3 System.out.print(getCurrentLineNo());//sample code
4 System.out.print(getCurrentLineNo());//sample code
一种方法是获取堆栈跟踪元素并调用
getLineNumber
public static int getCurrentLineNumber() {
return Thread.currentThread().getStackTrace()[2].getLineNumber();
}
注意,我使用了2
索引,因为它引用了调用getCurrentLineNumber
的方法的框架。如果您只是在线执行此操作,例如:
System.out.println(Thread.currentThread().getStackTrace()[1].getLineNumber());
您应该使用索引1
请注意,索引
0
指的是getStackTrace
方法的框架。我认为获取StatckTrace的成本太高,但它可以帮助您进行一些调试
System.out.println(new Exception().getStackTrace()[0].getLineNumber());
另外,您可以查看您可以得到这样的行号
public static int getCurrentLineNo() {
return Thread.currentThread().getStackTrace()[2].getLineNumber();
}
使用调试模式嗯,我正试图以我的方式打印它。像这样的代码。打印(“我在行号中”+getCurrentLineNo());