Я пишу на kotlin, разрабатываю текстовую RPG-игру для Android.Я в настоящее время нахожусь в разработке моей объектной системы, идущей с проектированием компонента стратегии / сущности.Я застрял в функции getComponent и понятия не имею, что я делаю
Мне нужен метод, который принимает ссылку на тип Class, а затем сравнивает его со всеми типами классов экземпляра компонента.
Я пытался использовать дженерики, KClass, Java Type, но не могу найти ответ.
Моя главная проблема - оператор «как».Я понятия не имею, что он принимает.
Все, что я до сих пор получил, это:
fun getComponent(clazz : KClass<*>) : Component? {
for(component in components) {
if(component is clazz) {
return component
}
}
return null
}
Этот код неправильный.IntelliJ предупреждает меня, что clazz не существует, поскольку он не является настоящим классом.