Avatar ·

¿Cómo convertir un String a Long en Kotlin? Formas seguras y manejo de errores

¡Hola, colegas! Acabo de empezar a aprender Kotlin (migré desde Java) y me encontré con una tarea aparentemente simple. Necesito leer el ID de usuario desde un campo de texto en la aplicación (es un String) y pasarlo a una función que espera un Long. En Java solía usar `Long.parseLong(str)` o `Long.valueOf(str)`, envolviéndolo en un try-catch. Pero en Kotlin veo varios métodos diferentes: `.toLong()`, `.toLongOrNull()`, algunas funciones de extensión... Y estoy confundido sobre cuál es el correcto y seguro. Aquí hay un ejemplo de mi código que actualmente falla con una excepción: ```kotlin fun main() { val userInput: String = "123abc" // el usuario ingresó letras accidentalmente val userId: Long = userInput.toLong() // ¡NumberFormatException! println("User ID: $userId") } ``` Entiendo que necesito manejar errores, pero quiero hacerlo de manera elegante, al "estilo Kotlin". Además, ¿qué pasa si el String puede ser `null`? ¿O contiene espacios? ¿Hay una forma universal que no lance una excepción?