我需要在 Kotlin 中做一个 for 循环:
for (setNum in 1..(savedExercisesMap[exerciseKey] as HashMap<*, *>)["sets"] as Int){
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Integer
Run Code Online (Sandbox Code Playgroud)
我不认为这会是一个问题。发生这种情况是否有原因以及如何解决?
使用关键字从Doubleto 转换Int永远不会成功as。它们都扩展了Number类,也不扩展另一个,所以这个转换既不是向下转型也不是向上转型。要在 Kotlin 中将 double 转换为 int,您应该使用.toInt()function。
val aDouble: Double = 2.22222
//val anInt = aDouble as Int // wrong
val anInt = aDouble.toInt() // correct
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2443 次 |
| 最近记录: |