在 Java 中给出以下方法:
public static <U> void foo() {
}
在这个方法中,我如何获得 U 类型的 SimpleName
或 CanonicalName
?
最佳答案
您必须将类作为参数传递:
public static <T> void foo(Class<T> klass) {
System.out.println(klass.getCanonicalName());
System.out.println(klass.getSimpleName());
}
没有其他办法,因为 Java 泛型的删除,您无法在运行时访问参数化类型信息。
关于java - 如何在通用静态方法中获取类型的字符串表示形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8792565/