我是靠谱客的博主 殷勤银耳汤,最近开发中收集的这篇文章主要介绍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获取当前的类名_Java运行时获取当前运行代码类名、方法名所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部