Object, Companion Object, and Singleton in Kotlin
Distinguish object declaration, object expression, and companion object in Kotlin, how they create singletons, calling from Java, and common pitfalls.
Distinguish object declaration, object expression, and companion object in Kotlin, how they create singletons, calling from Java, and common pitfalls.
Configure Maven for Kotlin and Java interoperability, handle nullability, @JvmStatic, @JvmOverloads, and common Spring Boot issues.
Use by lazy for thread-safe lazy initialization, use Delegates.observable and vetoable to monitor or block property value changes.
How to declare function types, pass and return lambdas, use function references, closures, lambdas with receivers, and inline in Kotlin.
Setup Spring Boot 3 project with Kotlin, write REST API, JPA entity, configuration and test, including common errors when migrating from Java.
Distinguish Kotlin's 5 scope functions by context object and return value, with practical examples, tests, and common pitfalls.
How to use map, filter, groupBy and their variants like mapNotNull, partition, groupingBy to process collections in Kotlin clearly and correctly.
Learn Kotlin Flow from basics: flow builder, operators, flowOn, error handling, StateFlow/SharedFlow and how to test with runTest.
Use sealed classes, sealed interfaces, and when expressions to model state safely. The compiler will report an error immediately when you forget to handle a case.
Understand what Kotlin generates for a data class, how to use the copy() function to safely create copies, and common mistakes when comparing or inheriting.
Learn how to use extension functions in Kotlin to extend existing classes without inheritance, with practical examples and tips.
Learn about launch, async, suspend fun, and CoroutineScope in Kotlin coroutines, with working examples and how to avoid coroutine leaks.
Learn how Kotlin handles null safely with nullable types, safe calls, elvis operator, and scope functions like let.