Necesito hacer un bucle for en Kotlin:
for (setNum in 1..(savedExercisesMap[exerciseKey] as HashMap<*, *>)["sets"] as Int){Pero me sale este error:
java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.IntegerNo creo que esto sea un problema. ¿Hay alguna razón por la que esto está sucediendo y cómo solucionarlo?
La conversión de Double a Int nunca tendrá éxito al usarla as palabra clave. Ambos extienden la clase Number y ninguno extiende el otro, por lo que esta conversión no es ni downcasting ni upcasting. Para convertir un doble a int en Kotlin, debe usar la función .toInt() .
val aDouble: Double = 2.22222 //val anInt = aDouble as Int // wrong val anInt = aDouble.toInt() // correct