当前位置: 首页 > 面试题库 >

如何在Java中从该方法中查找方法名称?

白博易
2023-03-14
问题内容

我想知道是否有办法知道运行时正在执行的方法名称?

例如,在一个private void doSomething (String s)方法内部,我想知道我正在执行该doSomething (String s)方法。


问题答案:

从JDK1.5开始,您不需要Exception即可获取StackTrace,
可以使用以下命令获取它Thread.currentThread().getStackTrace()

   public class Test2 {
     public static void main(String args[]) {
        new Test2().doit();
     }
     public void doit() {
        System.out.println(
           Thread.currentThread().getStackTrace()[1].getMethodName()); // output : doit
     }
   }


 类似资料:
  • 我正在学习如何在PHPUnit中进行测试,我想知道在命名PHPUnit测试方法时是否有“最佳实践”。它们的名称是否应该与正在测试的方法相同?例如这种方法 命名 或者名称应该更具描述性?

  • 问题内容: 使用正则表达式,最简单的方法是获取网站HTML并在此标记内找到值(或与此相关的任何属性值): 问题答案: 取决于您需要构建(验证等)Http请求的复杂程度。这是我过去使用过的一种简单方法。 编译时可能会发现很多错别字。 (希望这不是功课)

  • 在我的一个程序中,我有以下方法,允许用户在ArrayList中输入与笔记本电脑关联的唯一ID。 所需输出如下: 如果用户输入的ID与ArrayList中的ID匹配,笔记本电脑及其规格将打印出来 如果ID不匹配,它将打印出“无效ID” 我非常接近实现这一目标;然而,我只能弄清楚如何让它打印出是否匹配列表中的每台笔记本电脑。例如,如果用户输入的ID与列表中三台笔记本电脑中的一台匹配,它将按如下方式打印

  • 问题内容: 我早些时候问了一个问题,但遭到了严厉的批评,因此在这里我再次提出。比较简单,改写为吸引那些可能一直担心我之前提出的问题的人。 背景信息我正在解析一些HTML信息。我将所有内容隔离在一系列的行中,但我希望抓取的内容以及其后的空格。为了摆脱空间,我选择使用trim(),但是遇到了麻烦。我的代码的最后几行是测试: 结果是: 我担心我调用trim()的方式可能有问题,因为我们都会不时出错,所以

  • 问题内容: 因此,我正在编写一个使用大型c 库的Android应用。我可以正常工作,以便Java应用程序可以调用c 委托方法,但是我发现自己希望自己可以将来自c 的消息记录到Android日志中。从Java上这很容易,但是我不知道如何从c 调用Java方法。我的搜索找到了从c 打开jvm的方法,这根本不是我想要做的。理想情况下,我想将日志方法指针传递给c ,然后可以在需要时使用它。当然,Java不

  • 我试图访问我创建的类中的一个方法,但由于它在名称和参数数量上相似,我的IDE说该方法是模棱两可的。这是两个方法的模型: 我调用了该方法,并为我的测试目的传入了第一个参数的值。不幸的是,我无法重命名方法、更改参数的顺序或以任何方式修改方法的结构。有没有办法区分这两种方法?