我正在Android项目中使用Kotlin进行编码。我在for()循环中使用了when()语句。在while()语句下面有一些行需要在循环的每次迭代中执行,但是被跳过并且控制流回到循环的下一次迭代。
这是我所做的简化版。
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的正常行为。在此先感谢您的帮助。
答案 0 :(得分:0)
问题在于Android Studio Debugger。在调试时跳过了()块时的行,但实际上已经执行了。
放置在那里的中断品脱也显示错误,指出“该行中没有可执行代码”
答案 1 :(得分:-1)
在你添加else语句之后
When(I){
0-> ...
1-> ....
} else {
Log.i(TAG, “error”)
}
表达式需要其他时的Kotlin