gpt4 book ai didi

Kotlin:将 double 型转换为整数时出现 ClassCastException?

转载 作者:行者123 更新时间:2023-12-01 16:15:14 25 4
gpt4 key购买 nike

我需要在 Kotlin 中执行 for 循环:

for (setNum in 1..(savedExercisesMap[exerciseKey] as HashMap<*, *>)["sets"] as Int){

但我收到此错误:

java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Integer

我认为这不会成为问题。发生这种情况有原因吗?如何解决?

最佳答案

使用 as 关键字从 Double 转换为 Int 永远不会成功。它们都扩展了 Number 类,并且都不扩展另一个类,因此此转换既不是向下转换也不是向上转换。要在 Kotlin 中将 double 转换为 int,您应该使用 .toInt() 函数。

val aDouble: Double = 2.22222
//val anInt = aDouble as Int // wrong
val anInt = aDouble.toInt() // correct

关于Kotlin:将 double 型转换为整数时出现 ClassCastException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54054738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com