JAVA 获取类名,函数名
获取以下获取方法所在函数的相关信息
1.获取当前函数名:Thread.currentThread().getStackTrace()[1].getMethodName();
2.获取当前类名:Thread.currentThread().getStackTrace()[1].getClassName();
3.获取当前类的文件名:Thread.currentThread().getStackTrace()[1].getFileName();
获取调用方法的所在函数的相关信息
1.获取当前函数名:Thread.currentThread().getStackTrace()[2].getMethodName();
2.获取当前类名:Thread.currentThread().getStackTrace()[2].getClassName();
3.获取当前类的文件名:Thread.currentThread().getStackTrace()[2].getFileName();
Demo:
这是获取方法
public class NameProxy {
public static void nowMethod() {
String clazz = Thread.currentThread().getStackTrace()[1].getClassName();
String method = Thread.currentThread().getStackTrace()[1]
.getMethodName();
System.out.println("class name: " + clazz + " Method Name " + method);
}
public static void parentMethod() {
String clazz = Thread.currentThread().getStackTrace()[2].getClassName();
String method = Thread.currentThread().getStackTrace()[2]
.getMethodName();
System.out.println("class name: " + clazz + " Method Name " + method);
}
}
Test:
public class MethodName {
@Test
public void showMethodName() {
LogProxyName.nowMethod();
LogProxyName.parentMethod();
}
}
显示结果:
class name: com.XXX.name.NameProxy Method Name nowMethod
class name: com.XXX.name.MethodName Method Name showMethodName
JAVA 获取类名,函数名的更多相关文章
- 获取当前函数名 __FUNCTION__ 的使用<转>
vs项目中见过这种获取 当前函数名的调用.觉得挺方便的就记录一下. ============================================================== 转载地 ...
- 类名+函数名(参数1,参数2.....){.......return this;}
下述的函数是这样定义的: 类名+函数名(参数1,参数2.....){.......return this;} int +函数名(参数1,参数2.....){.......return int;} sh ...
- java 获取文件后缀名(文件类型)
java 获取文件后缀名(文件类型) CreateTime--2018年5月23日09:16:31 Author:Marydon // 获取文件名的后缀名(文件类型) String oldFile ...
- python 获取当前运行的类名函数名
import inspect def get_current_function_name(): return inspect.stack()[1][3] class MyClass: def func ...
- Java获取方法参数名、Spring SpEL解析
@Test public void testParse() { //表达式解析 ExpressionParser expressionParser = new SpelExpressionParser ...
- Java 获取类名,函数名,行数
C++下用宏来实现.分别是__FILE__,__func__,__LINE__分别代表,C++编译自动在每个文件中设定__FILE__类型是字符串常量 ,将__LINE__替换为当前行数,类型是数字常 ...
- 突然的明白--public static 类名 函数名()
public static ImageUtilEngine getImageEngine() { return imageEngine; } 这个是什么啊........纠结了一个多星期的东西 忽然间 ...
- prototype for '类名::函数名'does not match any in class'类名'
函数声明和定义参数类型必须相同. 前置声明一定要放到名称空间内,代表该名称空间内的类.
- java获取类名不包括路径
class.getSimpleName(),就能获得仅仅的类名 class.getName()获得的是全路径的类名
随机推荐
- 【Spring AOP】Spring AOP的使用方式【Q】
Spring AOP的三种使用方式 经典AOP使用方式 改进XML配置方式 基于注解的方式 第1种方式可以作为理解spring配置AOP的基础,是最原始的配置方式,也体现了spring处理的过程. 使 ...
- [转帖]爬过这 6 个坡,你就能对 Linux 操作系统了如指掌
爬过这 6 个坡,你就能对 Linux 操作系统了如指掌 http://www.51testing.com/html/16/n-4461316.html 学习的任务 任重道远 我现在处于第一阶段. 发 ...
- kafka整理笔记笔记
一.为什么需要消息系统 解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险.许多消息 ...
- CF235A 【LCM Challenge】
这题好毒瘤啊 (特别是long long的坑,调了半天没调好!!)先将你特判一下小于3的话直接输出就是惹,不是的话就判断一下它能不能被2整除如果不能就直接输出n*(n-1)*(n-2)否则进行枚举枚举 ...
- C++学习 之 函数的重载及内联(笔记)
1.函数的使用: 1.1 将数组传递给函数: 当需要给函数传递数组作为参数时,其实传过来的是实参的地址就相当于使用引用或指针作为形参. 例: int DisPlayArray(int Number[] ...
- vue-router和webpack懒加载,页面性能优化篇
在vue单页应用中,当项目不断完善丰富时,即使使用webpack打包,文件依然是非常大的,影响页面的加载.如果我们能把不同路由对应的组件分割成不同的代码块,当路由被访问时才加载对应的组件(也就是按需加 ...
- gitlab操作笔记
基本命令 准备 1. 安装所需命令 sudo yum install curl openssh-server openssh-clients postfix cronie -y2. 安装SSH sud ...
- 最小生成树之Prim Kruskal算法(转)
最小生成树 首先,生成树是建立在无向图中的,对于有向图,则没有生成树的概念,所以接下来讨论的图均默认为无向图.对于一个有n个点的图,最少需要n-1条边使得这n个点联通,由这n-1条边组成的子图则称为原 ...
- Nginx启动错误 Failed to read PID from file /run/nginx.pid 的处理方法
问题产生原因 因为 nginx 启动需要一点点时间,而 systemd 在 nginx 完成启动前就去读取 pid file 造成读取 pid 失败 解决方法 让 systemd 在执行 ExecSt ...
- RAD Studio 10 up1欢迎页证书不可用
不只是欢迎页,每打开一个新的工程,都会出现上面那个证书不可用的提示. 解决方法: 1.通过Fiddler网络监控软件分析发现,出现这个问题的原因是bds启动的时候会用https协议访问谷歌的统计服务器 ...