Object, companion object y singleton en Kotlin
Distingue entre object declaration, object expression y companion object en Kotlin, cómo crean singleton, cómo llamarlos desde Java y qué errores evitar.
Distingue entre object declaration, object expression y companion object en Kotlin, cómo crean singleton, cómo llamarlos desde Java y qué errores evitar.
Configurar Maven para que Kotlin y Java se comuniquen, gestionar nullability, @JvmStatic, @JvmOverloads y errores comunes en Spring Boot.
Usa by lazy para inicialización perezosa segura con hilos, usa Delegates.observable y vetoable para monitorear o prevenir cambios de propiedades.
Cómo declarar tipos de función, pasar y retornar lambdas, usar referencias de función, closures, lambdas con receiver e inline en Kotlin.
Configurar un proyecto Spring Boot 3 con Kotlin, escribir una REST API, entidades JPA, configuración y pruebas, junto con errores comunes al migrar desde Java.
Diferencia las 5 funciones de scope de Kotlin según context object y valor de retorno, con ejemplos prácticos, tests y errores comunes.
Cómo usar map, filter, groupBy y sus variantes como mapNotNull, partition, groupingBy para procesar colecciones en Kotlin de forma clara y correcta.
Aprende Kotlin Flow desde lo básico: flow builder, operadores, flowOn, manejo de errores, StateFlow/SharedFlow y cómo escribir tests con runTest.
Usa sealed class, sealed interface y la expresión when para modelar estados de forma segura. El compilador te reportará errores cuando olvides manejar un caso.
Aprende qué genera Kotlin para una data class, cómo usar la función copy() para crear copias seguras, y los errores comunes al comparar o heredar.
Aprende a usar las funciones de extensión en Kotlin para extender clases existentes sin necesidad de herencia, con ejemplos prácticos y consideraciones importantes.
Aprende sobre launch, async, suspend fun y CoroutineScope en Kotlin coroutines, con ejemplos funcionales y cómo evitar fugas de coroutinas.
Aprende cómo Kotlin maneja null de forma segura con nullable types, safe call, elvis operator y scope functions como let.