Avatar
omochimetaru 4/16/2020 4:48 AM
Covariance if A is a subtype of B then: Java: L<A> is a subtype of L<? extends B> (use-site) Scala: L[A] is a subtype of L[_ <: B] (use-site) L[A] is a subtype of L[+B] (declaration-site) Contravariance if A is a supertype of B then: Java: L<A> is a subtype of L<? super B> (use-site) Scala: L[A] is a subtype of L[_ >: B] (use-site) L[A] is a subtype of L[-B] (declaration-site)