You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin when表达式编译报expecting when-condition错误如何修复

错误原因

该编译错误由when表达式的语法使用错误引发:
Kotlin的when结构中,不同分支之间不需要使用逗号做分隔,直接换行编写下一分支即可。你的代码里在每个分支的返回值尾部额外加了逗号,编译器解析到逗号时会认为当前分支的匹配条件还未书写完成,因此抛出「expecting a when-condition」的报错。
注意:只有当同一个分支需要匹配多个等值条件时,才会在多个匹配值之间用逗号分隔,例如"jap", "jpn" -> "xxx",分支与分支之间禁止加逗号。

修复方案

删除所有分支末尾多余的逗号即可,修正后可正常编译运行的代码如下:

fun main(args : Array<String>) {
    val test = "jap"
    val url = when (test) {
        "jap" -> "https://staticlib.me/manga-list?types[]=10"
        "cor" -> "https://staticlib.me/manga-list?types[]=11"
        "chi" -> "https://staticlib.me/manga-list?types[]=12"
        "eng" -> "https://staticlib.me/manga-list?types[]=13"
        "rus" -> "https://staticlib.me/manga-list?types[]=14"
        "fan" -> "https://staticlib.me/manga-list?types[]=15"
        "all" -> "https://staticlib.me/manga-list"
        else -> "https://staticlib.me/manga-list?types[]=10"
    }
    println(url)
}

内容的提问来源于stack exchange,提问作者Zorome

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 16:12:28