java运行一个方法时如何得到该个对象的名字(不是类的名字).
3个回答
展开全部
可以通过StackTrace从栈顶往下倒
String clsname = "ClassName";
StackTraceElement stack[] = (new Throwable()).getStackTrace();
int ix = 0;
while (ix < stack.length) {
StackTraceElement frame = stack[ix];
String cname = frame.getClassName();
if (cname.equals(clsname)) {
break;
}
ix++;
}
while (ix < stack.length) {
StackTraceElement frame = stack[ix];
String cname = frame.getClassName();
if (!cname.equals(clsname)) {
System.out.println("类名:" + cname);
System.out.println("方法名:" + frame.getMethodName());
}
ix++;
}
展开全部
如果是想要得到new 出来的对象,可以考虑使用Object类的 getClass()方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还以为真有这种聪明的方法……
笨一点可以通过文件来
既然从栈信息能得到调用的行数
也就可以分析文件得到调用的对象名
一句话,好麻烦……
笨一点可以通过文件来
既然从栈信息能得到调用的行数
也就可以分析文件得到调用的对象名
一句话,好麻烦……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询