出于日志目的,我想知道运行时方法的名称。
前任。
public void methodA(){
Log.e("INSIDE", "//some code here to get the name of methodA");
}
如果我将在运行时获取方法的名称,它将减少我在不同方法中插入相同日志的重复任务。
我假设这是 Java ......如果是这样,这将返回您当前所在的方法的名称。
String methodName = new Exception().getStackTrace()[0].getMethodName()
但是要小心,不要把它放在一个方法中,因为那样会返回那个方法的名字。你也可以使用这个:
public String getMethodName() {
return new Exception().getStackTrace()[1].getMethodName();
}
这将观察堆栈跟踪的第二个元素,返回正确的方法名称。
更新:
虽然第一个做了它所需要的,但这更好:至少不涉及创建一个新对象:
Thread.currentThread.getStackTrace()[1].getMethodName();
警告我不得不提一下,所有这一切都会对性能产生不利影响......