Talk type: Talk

Type variance in Java and Kotlin

  • Talk in Russian
Presentation pdf

If we compare a program to a building, then program's API is the foundation. It's impossible to underestimate the importance of flexible and convenient APIs for the maintainability of the code. And it's impossible to build such APIs without understanding of how to use type variance in type-parametrized classes and methods.

In this lecture we consider the full evolution of type variance in JVM world, starting from covariant arrays from the very first versions of Java, through Java wildcard types to Kotlin's declaration site and use-site variance. We will move from simple to complex examples to get a steady understanding of how and when to use type variance in your APIs.

  • #contravariance
  • #covariance
  • #generics


Invited experts