在 kotlin 的 for 循环中使用 when()。 when 语句下面的行没有被执行

Using when() inside a for loop in kotlin. The lines below the when statement are not executed

我正在 Android 项目中使用 Kotlin 编写代码。我在 for() 循环中使用 when() 语句。 when() 语句下面有一些行需要在循环的每次迭代中执行,但被跳过并且控制流回到循环的下一次迭代。

这是我所做的简化版本。

    for (i : Int in 0..10)
    {
        val data = Data()

        when(i)
        {
            0 -> data.att1 = "sample0"
            1 -> data.att1 = "sample1"
            2 -> data.att1 = "sample2"
            ..
            ..
        }

        dataArray.add(i, data) // LINE NOT EXECUTED
    }

我是 Kotlin 的新手,所以我不确定这在 Kotlin 中是否正常。在此先感谢您的帮助。

在你的 when 之后添加一个 else 语句

   When(I){

    0-> ...
    1-> ....
    } else {
    Log.i(TAG, “error”)
    }

当表达式需要 else 时的 Kotlin

问题出在 Android Studio 调试器上。 when() 块下面的行在调试时被跳过但实际上被执行了。

放在那里的 break pint 也显示错误,指出 "No executable code is present in that line"