¿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?
No answers yet.
Inicia sesión para dejar una respuesta