1
resposta

Class<?> ou Class<Object> ?

Pessoal, qual a diferença entre Class<?> ou Class

Uma outra dúvida é, quando o generics extends alguma coisa, como funciona, o que significa...

1 resposta

Fala ai Marcos, de boa ?

Se você usa Class<?> você tá falando que pode ser qualquer tipo, contudo para o compilador ele não sabe o que tem dentro e portanto não consiga colocar nada dentro, caso seja uma lista por exemplo.

Quando você coloca Class<Object> significa que qualquer objeto pode ser representado, no caso de uma lista por exemplo poderia adicionar qualquer coisa.

Quando falamos de extends ou super, estamos limitando o tipo da classe que vai entrar, quando é extends, falamos que aceita qualquer coisa que herde de determinado objeto, quando colocamos o super, queremos pegar os pais de determinado objeto.