Если вам нужно только строковое представление, вы можете использовать свойство simpleName
или qualifiedName
:
for (it in myKClassList) {
println(it.simpleName)
}
Если вам нужен реальный класс, он у вас уже есть - это KClassэкземпляр. Поэтому, если вы делаете что-то на основе типа:
for (it in myKClassList) {
when (it) {
Array<String>::class -> println("String array")
String::class -> println("String")
Int::class -> println("Int")
//etc.
}
}
Редактировать Если вы хотите обрабатывать все типы массивов одинаково, мы смешиваем типы условий, поэтому вам нужно when
без аргумента:
for (it in myKClassList) {
when {
it.java.isArray -> println("Array")
it == String::class -> println("String")
it == Int::class -> println("Int")
//etc.
}
}