Оператор «когда» Котлина против переключателя JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Оператор «когда» Котлина против переключателя Java

Сообщение Anonymous »

Сопоставление с образцом в Kotlin — это хорошо, и тот факт, что следующее сопоставление с шаблоном не выполняется, является плюсом в 90 % случаев использования.
В Android при обновлении базы данных мы используем Свойство переключателя Java перейдет к следующему случаю, если мы не сделаем перерыв, чтобы код выглядел следующим образом:

Код: Выделить всё

switch (oldVersion) {
case 1: upgradeFromV1();
case 2: upgradeFromV2();
case 3: upgradeFromV3();
}
Поэтому, если у кого-то есть приложение с версией 1 БД и он пропустил версию приложения с БД v2, он получит весь необходимый код обновления.
При конвертации в Kotlin получаем такую ​​кашу:

Код: Выделить всё

when (oldVersion) {
1 -> {
upgradeFromV1()
upgradeFromV2()
upgradeFromV3()
}
2 -> {
upgradeFromV2()
upgradeFromV3()
}
3 -> {
upgradeFromV3()
}
}
Здесь у нас есть только 3 версии, представьте, когда БД достигнет версии 19.
В любом случае, если действовать таким же образом, то переключиться? Я пытался продолжить, но безуспешно.

Подробнее здесь: https://stackoverflow.com/questions/308 ... ava-switch
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»