No estoy seguro de entender completamente la diferencia entre SomeGeneric<*>
y SomeGeneric<Any>
. Creo que *
representa cualquier cosa (comodín) y Any
representa el objeto del que TODOS los objetos heredan. Entonces parece que deberían ser iguales, pero ¿lo son?
En el contexto, creo que usted insinúa,
SomeGeneric<*>
es equivalente aSomeGeneric<out Any?>
. El equivalente de Java esSomeGeneric<? extends Object>
.La sintaxis llamada "proyecciones de estrellas". Aquí están los documentos oficiales: https://kotlinlang.org/docs/reference/generics.html#star-projections
fuente