"When" -Anweisung vs Java "switch" -Anweisung
Pattern Matching in Kotlin ist nett und die Tatsache, dass es keinen nächsten Pattern Match ausführt, ist in 90% der Anwendungsfälle gut.
Wenn in Android die Datenbank aktualisiert wird, verwenden wir die Java-Switch-Eigenschaft, um mit dem nächsten Fall fortzufahren, wenn kein Umbruch erfolgt, damit der Code so aussieht:
switch (oldVersion) {
case 1: upgradeFromV1();
case 2: upgradeFromV2();
case 3: upgradeFromV3();
}
Wenn jemand eine App mit Version 1 der DB hat und die App-Version mit DB v2 verpasst hat, wird er den gesamten erforderlichen Upgrade-Code ausführen lassen.
Converted to Kotlin, wir bekommen ein Durcheinander wie:
when (oldVersion) {
1 -> {
upgradeFromV1()
upgradeFromV2()
upgradeFromV3()
}
2 -> {
upgradeFromV2()
upgradeFromV3()
}
3 -> {
upgradeFromV3()
}
}
Hier haben wir nur 3 Version, stellen Sie sich vor, wenn DB Version 19 erreicht: /
Anyway to make beim handeln genauso wie wechseln? Ich habe ohne Glück versucht weiterzumachen.