Não tenho certeza se entendi totalmente a diferença entre SomeGeneric<*>
e SomeGeneric<Any>
. Acho que *
representa qualquer coisa (curinga) e Any
representa o objeto do qual todos os objetos herdam. Então, parece que eles deveriam ser os mesmos, mas são?
No contexto, acho que você insinua,
SomeGeneric<*>
é equivalente aSomeGeneric<out Any?>
. O equivalente em Java éSomeGeneric<? extends Object>
.A sintaxe chamada "projeções de estrelas". Aqui estão os documentos oficiais: https://kotlinlang.org/docs/reference/generics.html#star-projections
fonte