关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
5天前关门了。
改进这个问题
我有一个方法返回 Class<? extends Animal>
```
public Class<? extends Animal> getAnimal(Animal animal)
{
//....
}
在参数中接受泛型的另一个方法 `passGenericAnimal(D animal);` 我想要一个动物类的类型 `getAnimal()` 方法,我只想传递给 `passGenericAnimal()` 方法将其转换为泛型类型。
这样地:
public Class<? extends Animal> getAnimal()
{
return Lion.class;
}
public void convertToGenericsAndAssign()
{
T animal = getAnimal();
//getting error here
//Type mismatch: cannot convert from Class<capture#15-of ? extends Animal> to T
passString(animal);
}
public void passGenericAnimal(D animal)
{
//....;
}
有没有办法把类类型转换成泛型类型?
1条答案
按热度按时间7tofc5zh1#
我可以给你一些如何编译的提示,但我怀疑你在任何情况下都走错了方向。即使您的代码编译(并运行)了,它也可能不会做您认为它会做的事情。然而,就目前而言,只是编译方面的变化:
我把字体改成
String
(不可扩展)到Something
.正如您在示例中看到的,问题是,您实际上得到了一个
Class
方法中的对象。我不太清楚你为什么期望一个实际对象的示例。如果要示例化该类的对象,则以下代码可能会有所帮助: