gpt4 book ai didi

java - 为什么没有检测到我的参数化类类型?

转载 作者:行者123 更新时间:2023-11-30 03:11:28 26 4
gpt4 key购买 nike

我根本不是 Java 专家,所以如果我做了一些非常愚蠢的事情,我深表歉意。我正在尝试使用此获取通用参数的类型

public class TestClass<T> {
public T testMethod() {
Type type = getClass().getGenericSuperclass();
ParameterizedType paramType = (ParameterizedType) type;
Class<T> aClass = (Class<T>) paramType.getActualTypeArguments()[0];
}
}

我收到此运行时错误

java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType

出了什么问题?

最佳答案

getGenericSuperclass method顾名思义,返回一个 Type ,它表示类的父类(super class),而不是类本身。

这里,typeObjectClass对象,而不是TestClass

要获取您自己的类的类型参数,请使用 the getTypeParameters method .

关于java - 为什么没有检测到我的参数化类类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33552600/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com