本文介绍了在Java 8中以静态方式获取类名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是对>的后续行动.一般和类似的问题/答案

Java 8 中,我可以使用新异常

String className = new Exception().getStackTrace()[1].getClassName();

但是我可以以静态方式获取类名吗?

But can I get class name in a static way?

编辑

如果我在其他类的方法中,并且想知道称为我的方法的类

If I'm inside a different class's method and want to know the class called my method

推荐答案

从另一个类以静态方式获取调用类的类名称的示例:

public class Main {
    public static void main(String[] args) {
        example();
    }

    public static void example() {
        B b = new B();
        b.methodB();
    }
}

class B {
    public void methodB(){
        System.out.println("I am methodB");
        StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
        StackTraceElement element = stackTrace[2];
        System.out.println("I was called by a method named: " + element.getMethodName());
        System.out.println("That method is in class: " + element.getClassName());
    }
}

以静态方式获取完全合格的类名称的示例:

MyClass.class.getName();

这篇关于在Java 8中以静态方式获取类名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-02 11:54