java - 如何在通用静态方法中获取类型的字符串表示形式

标签 java generics

在 Java 中给出以下方法:

public static <U> void foo() {


}

在这个方法中,我如何获得 U 类型的 SimpleNameCanonicalName

最佳答案

您必须将类作为参数传递:

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/

相关文章:

java - 想要使用 Java 和 Flex 从数据库中提取数据

java - 有没有办法循环遍历java中动态创建的组件?

java - 无法在 Spring-boot 中使用自签名 https 验证来自 Postman 的 POST/GET 请求方法

带有常量的 C# 泛型

java - java中如何决定使用哪个通配符?

java - Wicket 1.5 页面参数为空

java - 如何对返回的数据库事件使用缓存机制

c# - 转换泛型和泛型类型

c# - StructureMap 3 中开放泛型的装饰器拦截

delphi - 传递对 TObjectDictionary<TKey, TValue>.TValueEnumerator 的引用