gpt4 book ai didi

java.util.Set 未通过 ParameterizedType 检查

转载 作者:行者123 更新时间:2023-12-04 21:29:18 24 4
gpt4 key购买 nike

我有以下代码。在运行时 typeClasszjava.util.Set。但是 typeClassz instanceof ParameterizedType 的计算结果为 false。对于 java.util.Set,它转到 else 子句。有什么想法吗?

final Type typeClassz = methods.get(index).getParameterTypes()[0];
if(typeClassz instanceof ParameterizedType){
final ParameterizedType classType = (ParameterizedType) ((ParameterizedType) typeClassz).getActualTypeArguments()[0];
return mongoTemplate.findOne(query, (Class<?>) classType.getRawType());
}else{
return mongoTemplate.findOne(query, (Class<?>) typeClassz);
}

最佳答案

Method.getParameterTypes() 返回 Class<?>[] , 所以你的 typeClassz只能是 Class<?> , 不是 ParameterizedType .

你应该使用 getGenericParameterTypes() 相反,它返回一个 Type[] .

关于java.util.Set 未通过 ParameterizedType 检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44970936/

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