Dúvida sobre "<>"

Gostaria de saber o que é o “<>”, por exemplo quando nós instanciamos um ArrayList:

List<Contato> novaLista = new ArrayList<>();

Ou

new EventHandler<KeyEvent>();

Sempre tive a curiosidade, se alguém puder me responder, ficaria grato.

Um ArrayList guarda objetos do tipo Object, ou seja, ele guarda qualquer instancia de qualquer classe instanciável, dentro de um ArrayList você pode guardar objetos do tipo Pessoa, Carro, Casa.

porém se você quer guardar apenas um tipo de objeto, por exemplo Pessoa, é aconselhável que se coloque entre os <>, para evitar de acabar instanciando classes erradas na ArrayList.

1 curtida

Entendi, e isso serve par todas as classes como o EventHandler, certo?
Então, o EventHandler guarda apenas um KeyEvent? No caso acima?

É,
Como List só guarda strings, Como List só guarda integers, é uma parametrização.

1 curtida

Exatamente, a classe EventHandler estende a Casse Object, quer dizer que ele vai esperar qualquer evento, mas neste caso somente um KeyEvent

1 curtida