获取调用当前方法的类名

第一种常规方式:
        StackTraceElement stack[] = (new Throwable()).getStackTrace();
        for (int i = 0; i < stack.length; i++)        {
            StackTraceElement s = stack[i];
            System.out.println("调用当前当前方法的类名:"+s.getClassName());
            System.out.println("调用当前当前方法的方法名:"+s.getMethodName());
            System.out.println("调用当前当前方法的文件名:"+s.getFileName());
            System.out.println("调用当前当前方法的行数:"+s.getLineNumber());
            System.out.println("调用当前当前方法的类:"+s.getClass());
        }
View Code
        StackTraceElement stack[] = (new Throwable()).getStackTrace();
        StackTraceElement s = stack[0];
        System.out.println("调用当前当前方法的类名:"+s.getClassName());
        System.out.println("调用当前当前方法的方法名:"+s.getMethodName());
        System.out.println("调用当前当前方法的文件名:"+s.getFileName());
        System.out.println("调用当前当前方法的行数:"+s.getLineNumber());
        System.out.println("调用当前当前方法的类:"+s.getClass());
View Code
第二种懒人方式:
String name = Thread.currentThread().getStackTrace()[1].getClassName();
System.out.println("调用当前方法的类名"+name);
View Code

 第三种方式:

this.getClass()

使用方法:

  直接添加在当前方法中即可。

原文地址:https://www.cnblogs.com/mmzs/p/7668472.html