gpt4 book ai didi

Java:如何检索数组列表中的特定类型?

转载 作者:行者123 更新时间:2023-11-29 10:11:15 26 4
gpt4 key购买 nike

<分区>

我正在用 Java(使用 LibGDX)为游戏引擎编写 Entity Component System

我有一个包含各种组件的数组列表的实体。每个组件都继承自一个 Component 基类。

我想在我的实体上有一个方法,可以为我提供对特定类型组件(例如 RenderComponent、PhysicsComponent 等)的引用。我尝试了以下方法,但它似乎不起作用。

public class Entity
{
private ArrayList<Component> _components;

...

public void AddComponent(Component c)
{
_components.add(c);
c.Enable();
}

public Component GetComponent(String componentType)
{
Component s = null;

for (int i = 0; i < _components.size(); i++)
{
if (_components.get(i).getClass().getSimpleName() == componentType)
s = _components.get(i);
}

return s;
}
}

返回的对象为空。

我应该怎么做?有没有更聪明的方法让参数指定一个类型(而不是简单的字符串)?

此外,如果我想要特定类型的所有组件怎么办?我该如何处理?

我读过一些关于反射的内容,但我从未使用过它。我对 Java 编程还是很陌生。

提前致谢。

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