di corrispondenza nella Kotlin è bello e il fatto che non esegue la prossima partita modello è buona nel 90% dei casi d'uso."Quando" dichiarazione vs Java "switch" dichiarazione
In Android, quando il database viene aggiornato, usiamo Java passare proprietà per andare in caso successivo se non mettiamo una pausa per avere il codice alla ricerca di simile:
switch (oldVersion) {
case 1: upgradeFromV1();
case 2: upgradeFromV2();
case 3: upgradeFromV3();
}
Quindi, se qualcuno ha un app con versione 1 del DB e ha perso la versione dell'app con DB v2, otterrà tutto il codice di aggiornamento necessario eseguito.
Convertito in Kotlin, otteniamo un pasticcio come:
when (oldVersion) {
1 -> {
upgradeFromV1()
upgradeFromV2()
upgradeFromV3()
}
2 -> {
upgradeFromV2()
upgradeFromV3()
}
3 -> {
upgradeFromV3()
}
}
Qui abbiamo solo 3 versione, immaginate quando DB raggiunge la versione 19:/
Comunque per marche quando agisce nella stessa maniera di quanto interruttore? Ho provato a continuare senza fortuna.
Proprio imbattuti in https://youtrack.jetbrains.com/issue/KT-771 qualsiasi soluzione allora? –
Penso statisticamente (nessuna prova, ma sono sicuro squadra Kotlin utilizzato le statistiche per decidere) che un 'switch' in Java ha quasi sempre un' break' in ogni caso, quindi è scomodo per il caso comune. –