AD

¿Ya dominas lo básico? Un curso estructurado de Kotlin es la vía rápida para dar el salto.

Ver cursos de Kotlin en Udemy

Enlace de afiliado. No te cuesta nada extra.

🎯Lecciones de Kotlin
Lección 51 / 68

Escribir funciones genéricas

En esta lección escribirás una función que sirve para varios tipos sin repetirla.

fun <T : Comparable<T>> larger(a: T, b: T): T declara un tipo T que se decide en cada llamada. La parte : Comparable<T> es la restricción: solo valen tipos que sepan compararse.

El código de ejemplo compara dos números y luego dos palabras con la misma función.

El compilador lo comprueba antes de ejecutar: llamar con un tipo que no cumple la restricción da error al escribir, no en producción.

Hay una limitación heredada de la JVM que conviene conocer: los tipos genéricos se borran en tiempo de ejecución, así que dentro de la función no puedes preguntar de qué tipo es T. Kotlin ofrece una salida elegante con inline fun <reified T>, que conserva el tipo insertando el código en el punto de llamada — algo que Java no puede hacer.

Con las palabras del ejemplo hay un detalle propio del español: la comparación de cadenas usa el orden de los códigos Unicode, donde las vocales con tilde van después de la z. Así que «Ángel» no queda donde lo pondría un diccionario. Para ordenar nombres de personas hace falta un Collator con el idioma correspondiente.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Kotlin directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)