API довольно прост:
"123".toInt() // returns 123 as Int
"123T".toInt() // throws NumberFormatException
"123".toIntOrNull() // returns 123 Int?
"123T".toIntOrNull() // returns null as Int?
Так что, если вы знаете, что ваш ввод может быть не разбирается в Int, вы можете использовать toIntOrNull
, который будет возвращать ноль, если значение не было проанализировано. Это позволяет использовать другие инструменты обнуляемости, предлагаемые языком, например:
input.toIntOrNull() ?: throw IllegalArgumentException("$input is not a valid number")
(В этом примере оператор elvis используется для обработки нежелательного нулевого ответа toIntOrNull
, альтернатива может включать попытка / ловить вокруг toInt
)