获取当前正在执行的方法的名称

2023-11-24

Java 有没有办法获取当前正在执行的方法的名称?


从技术上讲,这将起作用......

String name = new Object(){}.getClass().getEnclosingMethod().getName();

但是,将在编译时创建一个新的匿名内部类(例如YourClass$1.class)。所以这将创建一个.class部署此技巧的每个方法的文件。此外,运行时每次调用时都会创建一个未使用的对象实例。因此,这可能是一个可以接受的调试技巧,但它确实会带来巨大的开销。

这个技巧的一个优点是getEnclosingMethod()回报java.lang.reflect.Method它可用于检索方法的所有其他信息,包括注释和参数名称。这使得区分具有相同名称的特定方法(方法重载)成为可能。

请注意,根据 JavaDocgetEnclosingMethod()这个技巧不应该抛出SecurityException因为内部类应该使用相同的类加载器来加载。因此,即使有安全管理员在场,也无需检查访问条件。

请注意: 需要使用getEnclosingConstructor()对于构造函数。在(命名)方法之外的块期间,getEnclosingMethod()回报null.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取当前正在执行的方法的名称 的相关文章

  • 通过 html tidy 提供渲染 jsp 页面

    我有一个在 Glassfish 上运行的 Java 项目 它会呈现一些难看的 HTML 这是使用各种内部和外部 JSP 库的副作用 我想设置某种渲染后过滤器 通过 HTMLTidy 提供最终的 HTML 这样源代码就很好且整洁 有助于调试
  • Java“空白最终字段可能尚未初始化”方法中抛出异常

    我有一些代码 例如 final int var1 if isSomethingTrue var1 123 else throwErrorMethod int var2 var1 throwErrorMethod 的定义如下 private
  • 如何将抽象工厂与单例模式结合起来? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在用 java 编码 并且对这些模式很陌生 谁能给我一个也使用单例的工厂抽象的例子 这是一个实现类的示例单例模式 这个实现也是线程安全
  • EL 通过 Scriptlet

    在 JSP 中使用 EL 相对于 scriptlet 的优势是什么 EL 被认为是无脚本语言 EL 使 JSP 免受容易出错原始 Java 代码并强制您根据 MVC 思想编写 JSP EL 或像 JSTL 这样的标签库 不可能实现的任何事情
  • C++ - 模板类中模板函数的单独声明/定义

    我知道在标头中声明模板类方法并在源文件中定义它的语法如下 myclass h template
  • Android 游戏偶尔出现延迟

    我正在用 Java 制作一个简单的 Android 游戏 我注意到每 20 40 秒就会出现一些烦人的延迟 首先 我认为它们是由垃圾收集器引起的 但当我检查 LogCat 时 我发现游戏滞后时没有垃圾收集 每当游戏开始滞后时 我都会标记日志
  • c和java语言中的换行符

    现在行分隔符取决于系统 但在 C 程序中我使用 n 作为行分隔符 无论我在 Windows 还是 Linux 中运行它都可以正常工作 为什么 在java中 我们必须使用 n 因为它与系统相关 那么为什么我们在c中使用 n 作为新行 而不管我
  • 如何在 Java 中使用 StringUtils?

    我是 Java 初学者 我想用StringUtils replace但 Eclipse 输出 StringUtils cannot be resolved I tried import java lang 但它不起作用 java lang不
  • 为什么我要使用责任链而不是 switch 语句

    考虑一下您已经获得了多次验证 仅当要检查的对象属于某种类型时 这些验证才应生效 为什么我要使用责任链而不是 switch 语句 责任链示例 public class Executor Inject private ValidatorFact
  • selenium webdriver 中的多个程序执行不起作用

    Selenium WebDriver 中的多个程序执行不起作用 我编写了 1 个 testNG xml 文件和 2 个 java 类 我尝试从 xml 文件运行这两个 java 类 但这不起作用 XML代码
  • Servlet 调度程序当前不可用

  • 使用 JNI 从 Java 代码中检索 String 值的内存泄漏

    我使用 GetStringUTFChars 从使用 JNI 的 java 代码中检索字符串的值 并使用 ReleaseStringUTFChars 释放该字符串 当代码在 JRE 1 4 上运行时 不会出现内存泄漏 但如果相同的代码在 JR
  • java中日期转换dd-MMM-yyyy到dd-MM-yyyy

    在Java中将23 Mar 2011转换为23 03 2011的最简单方法是什么 感谢大家 这似乎解决了这个问题 try Calendar cal Calendar getInstance cal setTime new SimpleDat
  • Java LRU 缓存使用 LinkedList

    堆栈溢出的新手 所以请不要介意我以菜鸟的方式问这个问题 我正在尝试使用链表实现 LRU 缓存 我在这里看到了使用 linkedHashMap 和其他数据结构的其他实现 但对于这种情况 我正在尝试使用链表创建最佳优化版本 正如我在技术期间被问
  • 春季MVC。方法参数字段的默认值

    我有一个带有方法测试的简单控制器 RequestMapping produces application json ResponseBody public HttpEntity
  • 如何在Java中模拟引用传递?

    我是一个十足的 Java 菜鸟 我知道 Java 将所有参数视为按值传递 并且还有其他几个线程人们对此进行了解释 例如 在 C 中我可以这样做 void makeAThree int n n 3 int main int myInt 4 m
  • 在 REST Web 服务中接受逗号分隔值

    我正在尝试接收 REST URI 中以逗号分隔值形式的字符串列表 示例 http localhost 8080 com vogella jersey first rest todo test 1 abc test 其中 abc 和 test
  • Lucene/Hibernate 搜索锁定异常

    我使用 Hibernate Search 在 Web 应用程序上索引和全文搜索项目 没有问题 来自我的 pom xml
  • 使用正则表达式匹配阿拉伯文文本

    我试图使用正则表达式仅匹配阿拉伯语文本 但出现异常 这是我的代码 txt matches P Arabic 这是例外情况 线程 main 中的异常 java util regex PatternSyntaxException 索引 9 附近
  • 如何创建具有同等时间元素的 JavaFX 转换?

    我正在尝试 JavaFX 和动画 尤其是PathTransition 我正在创建一个简单的程序 使球 弹跳 而不使用QuadCurveTo班级 到目前为止 这是我的代码 Ellipse ball new Ellipse 375 250 10

随机推荐

  • 映射类型是否可以使属性成为可选属性,但前提是满足条件?

    我正在尝试创建一个映射类型 它采用某种类型 在我的例子中是数组 的所有属性 并使它们成为可选的 但任何其他属性 非数组 都保持不变 我知道在定义映射类型时可以使用可选修饰符 如下所示 type MyPartial
  • Android protobuf nano 文档

    我正在尝试减少 Google protobuf 生成的方法数量 替代方案之一是使用 protobuf nano 但是我没有找到有关如何使用它的文档 除了包链接 我找不到任何关于如何使用 nano 从 proto 文件生成 java 文件的信
  • T-sql:如何执行优化分页?

    我编写了以下代码 它工作正常 但如果表包含一百万条记录 则需要 3 秒才能完成 有没有办法优化以下代码 DBCC DROPCLEANBUFFERS DBCC FREEPROCCACHE DECLARE Page Size int DECLA
  • 我可以使用 EFI 在本地文件系统上写入吗

    我正在开发这个项目 以便在操作系统通过 EFI 应用程序启动后立即将文件写入本地文件系统 我需要知道是否可能 如果是的话 请指导我一点 谢谢 好吧 我会好好提醒你的 首先枚举系统中的所有 FS 协议 EFI BOOT SERVICES bs
  • 注解驱动的依赖注入,可处理不同的环境

    我认为许多专业人士不转向注解驱动的依赖注入的主要原因是它不支持开发 测试 生产环境之间的切换 在许多情况下 出于开发目的 您不仅使用不同的服务 及其连接 有时还需要模拟它们或创建虚拟实例 昨天我想出了一个带有Spring注释的解决方案 Va
  • Android 插页式广告添加测试设备?

    您可以轻松添加带有横幅广告的测试设备 这样您就不会因意外点击它们而被禁止 但是我找不到如何将测试设备添加到插页式广告中 我认为如果您不小心点击它们 您也可能会被禁止 您可以向其中添加测试设备吗 如果可以 如何添加 我在官方谷歌指南和 SA
  • 什么是SQL注入? [复制]

    这个问题在这里已经有答案了 有人可以解释一下SQL注入吗 它是如何导致漏洞的 SQL注入点到底在哪里呢 有人可以解释一下SQL注入吗 当您将某些内容插入 SQL 查询字符串时 就会发生 SQL 注入 结果会以您不希望的方式修改查询的语法 它
  • Azure AD - 令牌中缺少角色声明

    我已通过 Azure Active Directory AAD 设置身份验证 一切正常 我收到了访问和刷新令牌 我已经阅读了有关应用程序角色的信息 并且我想使用它们 为简单起见 我们假设我想要拥有管理员和用户角色 我已遵循官方文档 缺少最后
  • XML 解析太慢!

    我编写了一个 Java 应用程序来使用 XML 与 Web 应用程序进行通信 部署后 我发现解析 Web 应用程序生成的 XML 需要很长时间 例如 登录大约需要2分钟 登录信息包含在 url 中 Web 应用程序进行处理并使用返回的 XM
  • 使用 Spring MVC 保留 的值

    我有一个包含两个输入的表单 一个字符串 一个文件
  • 测试 Windows Phone 7 中的连接问题(使用模拟器)

    Windows Phone 7 模拟器中有没有办法关闭网络连接 无需拔下电缆并关闭笔记本电脑上的 Wi Fi 我想在没有物理设备或在模拟器或 Windows Phone 7 SDK 工具之外执行任何物理操作的情况下测试网络连接的下降 作为物
  • CanBuildFrom 如何知道一个类型是否可以从另一个类型构建?

    我读了官方文档但我仍然无法理解它是如何工作的 例如 class A type Self def seqToSet T lt A seq Seq T implicit cbf CanBuildFrom Seq T T Self Set T 上
  • 如何指定适用于英语以外的欧洲语言的正则表达式字符范围?

    我正在使用 Ruby 的正则表达式引擎 我需要编写一个正则表达式来执行此操作 WIKI WORD b a z w A Z a z A Z w b 但除英语外还可以使用其他欧洲语言 我不认为字符范围 a z 会涵盖德语等中的小写字母 WIKI
  • Maven Jacoco 配置 - 从报告中排除类/包不起作用

    我有一个 Maven 多模块项目 我正在使用 jacoco maven 进行代码覆盖率报告 有些类不应该报告 因为它们是 Spring 配置 我对它们不感兴趣 我已声明 maven jacoco 插件如下
  • Android - 带有自定义 BaseAdapter 的 Gridview,创建 onclicklistener [重复]

    这个问题在这里已经有答案了 我创建了一个显示字母表字母的网格视图 我使用自定义 BaseAdapter 用字符串数组填充 gridview 我想要做的是能够获取单击单元格的值 字母 为了验证它是否有效 我创建了一个 TextView 并且我
  • PHPMailer 在发送时挂起

    我已经在内部几个人使用的桌面上使用 WAMPSERVER 成功设置了一个 Web 应用程序 这使用 PHPMailer 到内部 SMTP 服务器 无需加密或身份验证 并且它有效 该桌面崩溃了 我已迁移到 新 桌面 我有一个 SVN 设置 所
  • 如何部署具有多个区域的 asp.net mvc 4 应用程序

    我跟着this制作可插入式 asp net mvc 4 应用程序的文章 但在部署应用程序时遇到问题 在我的解决方案中MainProj是主项目 所有其他项目都位于区域文件夹中 每个项目都有其模型 视图和控制器 我已经给出了所有子项目 区域文件
  • 在vb.net中,如果我使用AddHandler,我是否必须使用RemoveHandler?

    如果我总是需要在使用 AddHandler 之后调用 RemoveHandler 那么最好的位置在哪里 我搜索了几个类似的问题如下 但不太明白 何时何地调用 VB NET 中的RemoveHandler AddHandler RemoveH
  • 与 PHP strip_tags 等效的 MySQL 查询是什么?

    我有一个大型数据库 其中包含具有以下内容的记录 a 其中的标签 我想删除它们 当然 有一种方法 我创建一个 PHP 脚本 选择全部 使用strip tags并更新数据库 但这需要很长时间 那么如何使用简单 或复杂 的 MySQL 查询来做到
  • 获取当前正在执行的方法的名称

    Java 有没有办法获取当前正在执行的方法的名称 从技术上讲 这将起作用 String name new Object getClass getEnclosingMethod getName 但是 将在编译时创建一个新的匿名内部类 例如Yo