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