Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Declaração da Lista de Array

No exercicio sobre generics, a opção marcada como correta, ao declarar a lista de arrays é : ArrayList<Cliente> lista = new ArrayList<Cliente>()

e ao acertar a pergunta, aparece também o exemplo: ArrayList<Cliente> lista = new ArrayList<>();

porém eu testei no eclipse sem os "<>" após o new ArrayList e funcionou também, o "<>" é implicito ?

2 respostas
solução!

Funciona, porém quando você não especificar, seria o mesmo que se você especificasse ArrayList<Object>. As verificações de tipo <> que são executadas ao especificar uma classe acontecem no tempo de compilação, não no tempo de execução

Boa noite, Marcelo! Como vai?

A declaração ArrayList<Cliente> lista = new ArrayList<>() também é válida como vc mesmo constatou no Eclipse! Isso é uma facilidade que foi introduzida no Java 7 chamada diamond operator! Usando o generics na parte esquerda do sinal de igual já é o suficiente para o compilador do Java fazer a inferência para o lado direito.

Para saber mais: https://www.baeldung.com/java-diamond-operator

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!