Java 在intellij中打印当前行号

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

我试图打印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

一种方法是获取堆栈跟踪元素并调用
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());