gpt4 book ai didi

java - 通过通用类型获取组件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:23:39 25 4
gpt4 key购买 nike

我想做的是创建一个方法,允许用户搜索 GameComponents 列表以找到他们传入的任何类的 GameComponent。

我完全不知道该怎么做。有什么想法吗?

这是我迄今为止尝试过的。我已经尝试了很多不同的方法来做到这一点,但我一直得到 classDude cannot be resolved to a type。提前致谢。

public GameComponent<?> getComponentOfType(Class<Object> classDude)
{

for(GameComponent<?> gC : mComponentList)
{
if(gC instanceof classDude)
{

}
}

}

最佳答案

这听起来像你想要的:

public <T extends GameComponent<?>> T getComponentOfType(Class<T> classDude)
{
for(GameComponent<?> gC : components)
{
if(classDude.isInstance(gC))
{
return classDude.cast(gC);
}
}
return null;
}

或者不使其通用:

public GameComponent<?> getComponentOfType(Class<?> classDude)
{
for(GameComponent<?> gC : components)
{
if(classDude.isInstance(gC))
{
return (GameComponent<?>) classDude.cast(gC);
}
}
return null;
}

换句话说,您缺少的是 Class.isInstanceClass.cast方法。

关于java - 通过通用类型获取组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8998634/

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