广告
返回顶部
首页 > 资讯 > 精选 >利用Java 如何获取类名与方法名
  • 652
分享到

利用Java 如何获取类名与方法名

java类名方法名 2023-05-31 09:05:08 652人浏览 独家记忆
摘要

这期内容当中小编将会给大家带来有关利用Java 如何获取类名与方法名,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。获取类名:public static void testGe

这期内容当中小编将会给大家带来有关利用Java 如何获取类名与方法名,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

获取类名:

public static void testGetClassName() {   // 方法1:通过SecurityManager的保护方法getClassContext()   String clazzName = new SecurityManager() {     public String getClassName() {       return getClassContext()[1].getName();     }   }.getClassName();   System.out.println(clazzName);   // 方法2:通过Throwable的方法getStackTrace()   String clazzName2 = new Throwable().getStackTrace()[1].getClassName();   System.out.println(clazzName2);   // 方法3:通过分析匿名类名称()   String clazzName3 = new Object() {     public String getClassName() {       String clazzName = this.getClass().getName();       return clazzName.substring(0, clazzName.lastIndexOf('$'));     }   }.getClassName();   System.out.println(clazzName3);   //方法4:通过Thread的方法getStackTrace()   String clazzName4 = Thread.currentThread().getStackTrace()[2].getClassName();   System.out.println(clazzName4); }

 执行100w次,

第一种方法:1718ms
第二种方法:4843ms
第三种方法:47ms
第四种方法:6484ms

比较:

    1)方法1不知有没有什么使用限制?
    2)方法2通过异常机制获取调用栈,性能最差,但能提供其它方法所不具有的功能,还可以获取方法名,行号等等;但这么使用多少有点不太常规;
    3)方法3只是简单分析了一下匿名类的名称,显然要简单多,事实上性能也是最高的;
    4)方法4感觉和方法3有点类似,比方法3正规了点

获取函数名:

public static void testGetFunctionName() {     // 方法1:通过Throwable的方法getStackTrace()     String funcName2 = new Throwable().getStackTrace()[1].getMethodName();     System.out.println(funcName2);     //方法2:通过Thread的方法getStackTrace()     String clazzName4 = Thread.currentThread().getStackTrace()[2].getMethodName();     System.out.println(clazzName4);    }

执行100w次:

第一种:4856ms
第二种:6337ms 

说明:

Exception类继承于Throwable,所以有的地方用Exception调用那个getStackTrace,其实调用的还是Throwable的
2.不同的jdk版本调用getStackTrace后得到的数组不太一样,下标多试几次就知道了,以上是jdk1.6版本下的

上述就是小编为大家分享的利用Java 如何获取类名与方法名了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: 利用Java 如何获取类名与方法名

本文链接: https://www.lsjlt.com/news/224694.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 利用Java 如何获取类名与方法名
    这期内容当中小编将会给大家带来有关利用Java 如何获取类名与方法名,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。获取类名:public static void testGe...
    99+
    2023-05-31
    java 类名 方法名
  • java获取类名的方法详解
    如果我们要获取当前运行的类名,怎么来获取? 在Class类中,有如下一个方法: 比如现在有一个类Demo7.java package pxx.test1; public cla...
    99+
    2022-11-13
  • php如何获取类中方法名
    本篇内容主要讲解“php如何获取类中方法名”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何获取类中方法名”吧!php获取类中方法名的两种方法:1、使用魔术常量“__FUNCTION__”...
    99+
    2023-07-02
  • java中获取类名的几种方法
    Java 中获取类名的方式主要有以下三种。getName()返回的是虚拟机里面的class的类名表现形式。getCanonicalName()返回的是更容易理解的类名表示。getSimpleName()返回的是类的简称。通过一个实例来看下它...
    99+
    2015-06-03
    java入门 java 类名 方法 获取
  • java如何根据方法名获取方法
    在Java中,可以通过反射来根据方法名获取方法。具体步骤如下: 使用`Class.forName()`方法加载对应的类,获取类的...
    99+
    2023-10-28
    java
  • php如何获取当前类的方法名
    这篇文章主要讲解了“php如何获取当前类的方法名”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何获取当前类的方法名”吧!php获取当前类的方法名的方法是,使用魔术常量__METHOD...
    99+
    2023-06-20
  • php怎么获取类中方法名
    php获取类中方法名的两种方法:1、使用魔术常量“__FUNCTION__”,可以返回类中当前方法的名称。2、使用get_class_methods()函数,可以获取指定类中所有方法的名称,返回一个包含所有方法名的数组,语法“get_cla...
    99+
    2022-06-14
    php
  • php怎么获取当前的类名和方法名
    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑在php中,可以利用魔术常量来获取类名和方法名。魔术常量属于特殊的预定义常量,这些常量可以根据它们的使用位置而变化。魔术常量通常以两个下划线__开头,并以两个下划线__...
    99+
    2014-08-05
    php 获取类名 获取方法名
  • php如何获取方法名称
    这篇文章主要介绍了php如何获取方法名称的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何获取方法名称文章都会有所收获,下面我们一起来看看吧。获取方法:1、使用“__FUNCTION__”,可获取当前方法...
    99+
    2023-06-29
  • php当前方法名如何获取
    今天小编给大家分享一下php当前方法名如何获取的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在php中可以通过“__METH...
    99+
    2023-07-04
  • Java8通过Function获取字段名的方法(获取实体类的字段名称)
    看似很鸡肋其实在某些特殊场景还是比较有用的。 比如你将实体类转Map或者拿到一个Map结果的时候,你是怎么获取某个map的key和value。 方法一: 声明 String key1...
    99+
    2022-11-12
  • wordpress实现获取父类分类名称的方法
    本文实例讲述了wordpress实现获取父类分类名称的方法。分享给大家供大家参考。具体分析如下: 在wordpress中获取父类分类名的方法说法有很多种,如:获取当前ID父类名等等这里就不介绍了,下面我来介绍几种获取父类...
    99+
    2022-06-12
    wordpress 获取 父类 分类 名称 方法
  • Dedecms获取登录用户名与ID号的方法
    本文实例讲述了Dedecms获取登录用户名与ID号的方法。分享给大家供大家参考。具体方法如下: 获取当前登录用户名 1、include/arc.archives.class.php在第9行下面加入下面这段代码:复制代码代...
    99+
    2022-06-12
    Dedecms 获取 登录 用户名 ID号 方法
  • vue中如何获取一个类名
    在vue中获取一个类名的方法:1.新建vue.js项目;2.添加div标签,设置class类名;3.使用document.querySelectorAll方法获取类名;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue ...
    99+
    2022-10-17
  • java如何获取请求域名?
    1、获取协议名和域名。 request.getScheme(); //得到协议名 例如:http request.getServerName(); //得到域名 localhost 2、获取全路径。 request.getRequestU...
    99+
    2023-09-01
    java servlet
  • Android获取当前运行的类名或者方法
    本文实例讲述了Android获取当前运行的类名或者方法。分享给大家供大家参考。具体实现方法如下: public static String getCurrentMethodN...
    99+
    2022-06-06
    运行 方法 Android
  • thinkphp5如何在模板中获取方法名
    这篇文章主要介绍“thinkphp5如何在模板中获取方法名”,在日常操作中,相信很多人在thinkphp5如何在模板中获取方法名问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”thinkphp5如何在模板中获取...
    99+
    2023-06-26
  • thinkphp如何获取当前访问的方法名
    这篇文章主要介绍“thinkphp如何获取当前访问的方法名”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“thinkphp如何获取当前访问的方法名”文章能帮助大家解决问题。thinkphp获取当前访问...
    99+
    2023-07-04
  • php如何获取对象的所有方法名
    这篇“php如何获取对象的所有方法名”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何获取对象的所有方法名”文章吧。在...
    99+
    2023-06-29
  • 使用Bash Shell获取文件名和目录名的简单方法
    前言 还是今天再写一个自动化打包脚本,用到了从路径名中获取最后的文件名。这里记录一下实现过程。当然,最后我也会给出官方的做法。(ps:很澹迪滞炅瞬欧⑾衷ash Shell有现成的函数) 获取文件名 假设给定...
    99+
    2022-06-04
    文件名 简单 目录
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作