Попытка получить элемент списка определенного типа, переданный в функции. Этот код работает, как и ожидалось, но он выглядит не так хорошо. Могу ли я проверить типы классов в Firstornull Lambda напрямую, вместо сравнения имен?
fun getModule(moduleType: KClass): T? {
return modules
.firstOrNull { it::class.simpleName == moduleType.simpleName }
?.let { it as? T } //Warning here: "Unchecked cast: TripManagerModule to T"
}
val module = getModule(TripArrivalDelayManager::class)
Подробнее здесь: https://stackoverflow.com/questions/794 ... n-function