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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly