本文介绍了在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中以静态方式获取类名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!