我想要输出com.iland.Action.LoginAction.doLogin()
代码应对任何类
有效例如
package com.iland.Action
Class LoginAction{
void doLogin()
{
System.out.println("");//what contens should be printed in sop
}
}
我想动态打印完全限定的类名和正在执行的方法名。
答案 0 :(得分:4)
这是一个可以帮助您的代码片段。
StackTraceElement trace = new Throwable().getStackTrace()[0];
trace.getMethodName(); // returns method name
trace.getClassName(); // returns class name
答案 1 :(得分:0)
您可以在函数体内使用此代码:
String Name=this.getClass().toString();
String fullName=Name.substring(Name.lastIndexOf(" ")+1);
System.out.println(fullName);// fully qualified class name.
System.out.println(fullName.substring(0,fullName.lastIndexOf(".")));// package name
System.out.println(fullName+new Throwable().getStackTrace()[0].getMethodName());// fully qualified method name
有关getStackTrace的更多信息,请参阅this
答案 2 :(得分:0)
它将显示包含方法名称
的类名 System.out.println(new Throwable().getStackTrace()[0].getClassName());// class name
System.out.println(new Throwable().getStackTrace()[0].getMethodName());// method name
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
System.out.println(stackTraceElements[1].getClassName());//class name
System.out.println(stackTraceElements[1].getMethodName());//method name