我是靠谱客的博主 殷勤银耳汤,这篇文章主要介绍java获取当前的类名_Java运行时获取当前运行代码类名、方法名,现在分享给大家,希望可以做个参考。

/*

* 1.获取当前运行代码的类名,方法名,行号,主要是通过java.lang.StackTraceElement类

*

* 2. 获取调用者、当前方法名

*   [1]获得调用者的方法名, 同new Throwable

*         String _methodName = new Exception().getStackTrace()[1].getMethodName();

*   [0]获得当前的方法名, 同new Throwable

*         String _thisMethodName = new Exception().getStackTrace()[0].getMethodName();

* */

public class StackTraceElementTest {

public static void main(String[] args) {

System.out.println("line1: " + new Throwable().getStackTrace()[0].getLineNumber());

System.out.println("line2: " + getLineInfo());

System.out.println("line3: " + getTraceInfo());

StackTraceElement ste1 = null;

StackTraceElement[] steArray = Thread.currentThread().getStackTrace();

int steArrayLength = steArray.length;

String s = null;

// output all related info of the existing stack traces

if(steArrayLength==0) {

System.err.println("No Stack Trace.");

} else {

for (int i=0; i

System.out.println("Stack Trace-" + i);

ste1 = steArray[i];

s = ste1.getFileName() + ": Line " + ste1.getLineNumber();

System.out.println(s);

}

}

}

public static String getTraceInfo(){

StringBuffer sb = new StringBuffer();

StackTraceElement[] stacks = new Throwable().getStackTrace();

int stacksLen = stacks.length;

sb.append("class: " ).append(stacks[1].getClassName())

.append("; method: ").append(stacks[1].getMethodName())

.append("; number: ").append(stacks[1].getLineNumber());

return sb.toString();

}

public static String getLineInfo() {

StackTraceElement ste = new Throwable().getStackTrace()[1];

return ste.getFileName() + ": Line " + ste.getLineNumber();

}

}

最后

以上就是殷勤银耳汤最近收集整理的关于java获取当前的类名_Java运行时获取当前运行代码类名、方法名的全部内容,更多相关java获取当前内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部