可以获得泛型参数的类型吗?

举个例子:

public final class Voodoo {
    public static void chill(List<?> aListWithTypeSpiderMan) {
        // Here I'd like to get the Class-Object 'SpiderMan'
        Class typeOfTheList = ???;
    }

    public static void main(String... args) {
        chill(new ArrayList<SpiderMan>());
    }
}

推荐答案

我曾经偶然发现的一个构造

Class<T> persistentClass = (Class<T>)
   ((ParameterizedType)getClass().getGenericSuperclass())
      .getActualTypeArguments()[0];

所以似乎有一些倒影魔法,不幸的是我不能完全理解.抱歉的.

Java相关问答推荐

在未跨多次运行重写过go 的数据的情况下将数据写入到SON文件时遇到问题(使用Jackson)

Java 22模式匹配不适用于记录模式匹配.给出汇编问题

Android视图覆盖不阻止点击它后面的控件

BiPredicate和如何使用它

当我用OkHttpClient重写shouldInterceptRequest来发布数据时,Android WebView正在以纯HTML加载URL内容

我想了解Java中的模块化.编译我的应用程序时,我有一个ResolutionException

在Java中测试DAO方法:假实现与内存数据库

在AnyLogic中增加变量计数

Spring Boot 3.2.2中的@Inject和@Resource Remove

只需最少的代码更改即可将版本号标记添加到日志(log)

如何确定springboot在将json字段转换为Dto时如何处理它?

什么是Java原子属性的正确getter和setter

Bean定义不是从Spring ApplationConext.xml文件加载的

Javadoc在方法摘要中省略方法

在学习Spring时,通过构造函数参数0表达了不满意的依赖关系

扩展视图高度,并将其拖动到较低的视图上,而不是将其向下推?

解析方法";javax/imageio/metadata/IIOMetadata.getAsTree(Ljava/lang/String;)Lorg/w3c/dom/Node时加载约束冲突

是否有一个Java Future实现可以在池繁忙时在调用者线程中执行?

使用SWIG将C++自定义单元类型转换为基本Java类型

在具有Quarkus Panache的PostgreSQL中将JSON数据存储为JSONB时,会将其存储为转义字符串