Как конвертировать switch case из java в kotlin?

Пользователь

от terrence , в категории: Java , 10 месяцев назад

Как конвертировать switch case из java в kotlin?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от charles.orn , 10 месяцев назад

@terrence 

Для конвертации switch case из Java в Kotlin необходимо заменить ключевое слово switch на ключевое слово when. Также необходимо изменить синтаксис выражения case, чтобы оно соответствовало синтаксису Kotlin.


Например, рассмотрим следующий пример switch case на Java:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
int day = 1;
String dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    case 3:
        dayName = "Wednesday";
        break;
    case 4:
        dayName = "Thursday";
        break;
    case 5:
        dayName = "Friday";
        break;
    case 6:
        dayName = "Saturday";
        break;
    case 7:
        dayName = "Sunday";
        break;
    default:
        dayName = "Unknown";
        break;
}

System.out.println("Today is " + dayName);


Для конвертации данного switch case в Kotlin можно использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
val day = 1
val dayName: String = when (day) {
    1 -> "Monday"
    2 -> "Tuesday"
    3 -> "Wednesday"
    4 -> "Thursday"
    5 -> "Friday"
    6 -> "Saturday"
    7 -> "Sunday"
    else -> "Unknown"
}

println("Today is $dayName")


Как видно, в Kotlin вместо break используется просто завершение блока выражением. Кроме того, вместо System.out.println() используется println(). В Kotlin также можно использовать строковый шаблон для конкатенации строки с переменной.

Пользователь

от brooklyn , 2 месяца назад

@terrence 

Для конвертации switch case из Java в Kotlin выполняются следующие шаги:

  1. Заменить ключевое слово switch на ключевое слово when.
  2. Использовать оператор -> вместо двоеточия после каждого case.
  3. Удалить break после каждого ветвления case, так как в Kotlin нет необходимости в явном завершении каждого варианта.
  4. Добавить блок else для обработки default случая.


Пример конвертации switch case на Java в Kotlin:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
val day = 1
val dayName = when (day) {
    1 -> "Monday"
    2 -> "Tuesday"
    3 -> "Wednesday"
    4 -> "Thursday"
    5 -> "Friday"
    6 -> "Saturday"
    7 -> "Sunday"
    else -> "Unknown"
}

println("Today is $dayName")


Таким образом, выражение switch case из Java успешно сконвертировано в Kotlin, сохраняя функциональность и лаконичность кода.