Variance answers: if Dog is a subtype of Animal, is List<Dog> a subtype of List<Animal>? In Kotlin, generic types are invariant by default — List<Dog> is not List<Animal> for mutability safety. Use out (covariant) when you only produce T — read-only. Use in (contravariant) when you only consume T — like Comparator<Animal> accepting Comparator<Dog>.
out — producers
Content is available with subscription.
Get full access to all courses on the platform for one year with a single payment.
▼
Unlike other platforms that charge per course, here you get everything for one price, and after one year of use there will be no automatic charge for the following year.