Exemplo: ao definir uma lista do tipo Object, e adicionar alguns elementos à lista de qualquer subtipo, por exemplo, String, pode-se atribuir essa lista a uma lista curing delimitada do tipo List<? super Number>, a qual aceita listas do tipo Number ou qualquer supertipo de Number). É possível adicionar outros valores à lista curinga que seja do tipo Number ou supertipo, mas não é possível acessar os valores da lista, pois o retorno pode ser qualquer ser Number ou qualquer supertipo de Number (invalidando uma atribuição para uma variável Number, por exemplo)
-
-