我需要在 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)
我不认为这会是一个问题。发生这种情况是否有原因以及如何解决?
使用关键字从Double
to 转换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 次 |
最近记录: |