~/talk

Idiomatic Interop with Kotlin

Talkat Øredev 2018 · on Tuesday, 2018-11-20· [kotlin]
slides:none on file

Kotlin–Java interop works but has sharp edges: concrete fixes and gotchas are shown, with bytecode-focused tools like @JvmOverloads and @file:JvmName to preserve Java signatures, jsr305 package-info to eliminate platform-nullability, and explicit use of reified generics limitations and inline-function performance pitfalls. The talk documents how annotations, JVM-defaults, @Throws, SAM limits, visibility hacks (backtick names + typealiases) and data-class copy helpers change real APIs and whether each approach actually compiles, preserves discoverability, and avoids runtime NPEs.

AI-written summary · about

  1. 0:00Start
  2. 1:01Who should be thinking about this?
  3. 2:29Your interop story should be
  4. 4:03@Jvm Annotations
  5. 4:19@JvmOverloads
  6. 6:17Don't get too carried away
  7. 7:35@JvmStatic
  8. 9:23A less nested way?
  9. 11:15@JvmDefault
  10. 12:38@Throws
  11. 14:16Extension functions
  12. 18:25Inline functions
  13. 19:48Reified generics workaround
  14. 21:32internal
  15. 22:42"Kotlin-only visibility" (hack!)
  16. 25:08Nullability Annotations!
  17. 28:42Annotating a package
  18. 29:17DIY Default Nullability Annotations
  19. 31:04Living the dream
  20. 31:31Nulls in libraries
  21. 32:57Lambdas and SAMs
  22. 35:36Lambda signatures
  23. 36:32Special Types
  24. 36:47Unit
  25. 39:03Data classes
  26. 40:31Overall Interop Thoughts
  27. 41:04Quick Tip
  28. 41:23Resources
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.