Нет ли встроенного способа преобразования между 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