Sobes.tech
Junior — Middle

¿Cómo se relacionan los conceptos de inline y Generic en programación?

sobes.tech AI

Respuesta de la IA

Las conceptos de inline y generic en programación abordan diferentes tareas, pero a menudo se usan juntos, especialmente en Kotlin.

  • Generic permite crear funciones y clases genéricas que trabajan con diferentes tipos de datos sin duplicar código. Por ejemplo, la función fun <T> printItem(item: T) puede aceptar cualquier tipo.

  • Inline es un modificador de función que, durante la compilación, inserta el cuerpo de la función en lugar de la llamada, lo que reduce los costos de llamada a la función, especialmente útil al trabajar con lambdas.

Juntos, permiten crear funciones genéricas eficientes con parámetros lambda sin pérdida de rendimiento. Por ejemplo, las funciones genéricas inline se usan a menudo en la biblioteca estándar de Kotlin para colecciones.

Ejemplo:

inline fun <T> List<T>.customFilter(predicate: (T) -> Boolean): List<T> {
    val result = mutableListOf<T>()
    for (item in this) {
        if (predicate(item)) result.add(item)
    }
    return result
}

Aquí, inline reduce los costos de llamada a la lambda, y generic permite trabajar con cualquier tipo de lista.