break 或 continue 用法。
break 和 continue 关键字始终适用于实际循环(for、while、do-while)。 break 和 continue 从不适用于函数;例如,break 和 continue 不适用于 forEach、filter、map。
在类循环函数(如 forEach)内使用 break或 continue 可能会引起混淆。
该检查会建议添加标签,以澄清 Break 或 Continue 适用于哪条语句。
由于 Kotlin 没有类循环函数的概念,该检查将使用启发。 它假设没有 callsInPlace(EXACTLY_ONCE) 或 callsInPlace(AT_LEAST_ONCE) 其中一个约定的函数是类循环函数。
示例:
for (file in files) {
file.readLines().forEach { line ->
if (line == commentMarkerLine) continue
println(line)
}
}
该快速修复会添加澄清标签:
loop@ for (file in files) {
file.readLines().forEach { line ->
if (line == commentMarkerLine) continue@loop
println(line)
}
}