Conceptual Kotlin for Java Survivors: Life After Semicolons
Part 8: "Generics Without Wildcards" — Variance, Reified and Constraints
A Java repository signature full of ? extends and ? super meets Kotlin, and most of the wildcards disappear. We cover declaration-site variance with out and in, use-site and star projections, bounds and where clauses, nullable type parameters and T & Any, erasure and @JvmName, reified type parameters, and build a typed event envelope, router and repository.