考虑这个类结构。

class Class1<T> {
    Class2<T> field1;
}


如果我有一个通过反射表示ParameterizedTypeClass1<String>实例,如何获取/创建一个表示ParameterizedTypeClass2<String>实例?

最佳答案

在当前状态下,反射API允许(有限)检查通用类型信息。由于无法利用新构建的ParameterizedType,因此首先允许其构建几乎没有意义。

如果您要构建一个接受ParameterizedType的API并且需要用户构建自己的API,则可以考虑改用guava的TypeToken-Class

08-25 23:54