相关疑难解决方法(0)

"当"语句与Java"切换"语句

Kotlin中的模式匹配很好,并且在90%的用例中,它不执行下一个模式匹配的事实很好.

在Android中,当数据库更新时,我们使用Java开关属性继续下一个案例,如果我们不休息让代码看起来像这样:

switch (oldVersion) {
    case 1: upgradeFromV1();
    case 2: upgradeFromV2(); 
    case 3: upgradeFromV3();
}
Run Code Online (Sandbox Code Playgroud)

因此,如果有人拥有数据库版本1的应用程序而错过了使用DB v2的应用程序版本,他将获得执行所需的所有升级代码.

转换为Kotlin,我们得到一个混乱:

when (oldVersion) {
    1 -> {
        upgradeFromV1()
        upgradeFromV2()
        upgradeFromV3()
    }
    2 -> {
        upgradeFromV2()
        upgradeFromV3()
    }
    3 -> {
        upgradeFromV3()
    }
}
Run Code Online (Sandbox Code Playgroud)

这里我们只有3个版本,想象当DB达到版本19时:/

无论如何,当以与开关相同的方式行动时?我试着继续没有运气.

java switch-statement kotlin

55
推荐指数
4
解决办法
3万
查看次数

标签 统计

java ×1

kotlin ×1

switch-statement ×1