Generics: in, out, where Flashcards
1
Q
diferencia entre keyword in y out
A
Ambas permiten sustituir el tipo del generico que ya ha sido asignado. Es decir, si se ha declarado un objeto de tipo Int puede cambiarse a Number. La diferencia es que in permite que sea cambiado a subtipos y out a supertipos
2
Q
En cual pones in y en cual out, y donde?
class OutClass (val value: T){ fun get(): T{ return value } }
fun main(){ val outClassObj = OutClass("String") val ref: OutClass = outClassObj } ------------------------------------------------------------------------------ class InClass { fun toString(value: T): String return value.toString() } }
fun main() { val inClassObj = InClass val ref: InClass = inClassObj }
A
Primero out
Segundo in
Ambos se ponen delante de la T en la declaracion de la clase