Boolean - Int конвертация в Котлин

Нет ли встроенного способа преобразования между boolean-int в Kotlin? Я говорю о обычном:

true -> 1
false -> 0

Если нет, что такое идиоматический способ сделать это?

Ответ 1

Вы можете написать функцию расширения типа Boolean, например

fun Boolean.toInt() = if (this) 1 else 0

Ответ 2

Вы можете расширить Boolean с помощью свойства extension в этом случае:

val Boolean.int 
     get() = if (this) 1 else 0

Теперь вы можете просто сделать true.int в своем коде

Ответ 3

Выполнение запроса API, который возвращает 0 или 1 для поля, которое должно быть явно истинным/ложным. В то же время я также делаю другие запросы к аналогичным API-интерфейсам для того же типа полей, которые вернут true/false. Я хотел бы поделиться кодом, который обрабатывает этот ответ от всех API.

В этом случае я думаю, что лучшим вариантом будет использование конвертера вашей библиотеки сопоставлений (jackson и т.д.).

В простой Kotlin вы можете использовать функцию расширения/свойство для этой цели.

Ответ 4

Нет никакого способа конвертировать. вы можете преобразовать, указав ниже код

 val output = if (input) 1 else 0

Ответ 5

использовать этот:

val Boolean?.int
    get() = if (this != null && this) 1 else 0