Writing Java-friendly Kotlin Code
summary
The talk explains how to write Kotlin libraries that are friendly to Java callers by using Kotlin language features and compiler annotations that improve Java interoperability. It covers specific interop issues that arise when calling idiomatic Kotlin from Java and shows what Kotlin provides (annotations, naming conventions, generated methods) to make APIs work well for both Kotlin and Java users.
AI-written summary · about
chapters (30)
- 0:00Introduction
- 1:04Kotlin-Java integration issues
- 2:08Kotlin vs Java keywords
- 3:55Kotlin library example
- 4:39Java issues with Kotlin
- 6:04Kotlin bytecode analysis
- 8:35Fixing default parameter
- 10:06Static methods in Kotlin
- 11:33JvmStatic for fields
- 12:43Renaming getters
- 15:08Constants in Kotlin and Java
- 16:58JvmField for constants
- 17:21Break and generics discussion
- 18:02Variance in Kotlin
- 22:07Declaration vs use-site variance
- 24:56JvmWildcard limitations
- 26:44Return type problems
- 27:59JvmSuppressWildcards
- 29:37Exception handling in Kotlin
- 31:25JvmName for functions
- 34:40Multifile classes
- 36:51kotlin.jvm package overview
- 37:12Reflection and Riffa parameters
- 38:36Kotlin vs Java classes
- 39:24Kotlin lambdas and Unit
- 41:13Type aliases
- 41:55Internal modifier
- 43:45Internal API issues
- 44:48Bytecode best practices
- 45:51Conclusion and Q&A








