在C++中,源代码文件和当前行号由FILE和INLINE决定,在编译时确定。在Java中有没有类似的方法可以做到这一点?文件和行号是在编译时而不是运行时确定的吗?这对于日志记录非常方便。我有点怀疑使用运行时方法来检测这些信息会降低性能。
在C++中,源代码文件和当前行号由FILE和INLINE决定,在编译时确定。在Java中有没有类似的方法可以做到这一点?文件和行号是在编译时而不是运行时确定的吗?这对于日志记录非常方便。我有点怀疑使用运行时方法来检测这些信息会降低性能。
Thread.getStackTrace()
方法以及类似的内容。System.out.println(Thread.currentThread().getStackTrace()[1]);
输出包括当前方法和行号(如果启用了调试)。例如,
com.stackoverflow.Main.main(Main.java:23)