Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Diferenca de código do ArrayList

Edit: deixa para lá, eu vi que o professor ia explicar isso na aula seguinte 09 Introdução ao Generics

Bom dia a todos Antes de tudo, eu to utilizando o Java 17 ao invés do Java 9. Eu tinha começado a usar por acidente,mas como não tinha alterado nada, eu não vi problema de continuar com o Java 17. Isso era até agora, porque eu fui usar esse código que o professor usou e deu erro:

 ArrayList lista = new ArrayList();
Type safety: The method add(Object) belongs to the raw type ArrayList. References to generic type ArrayList<E> should be parameterizedJava(16777747)

E o VS code me sugeriu essa correção:

ArrayList<Conta> lista = new ArrayList<Conta>();

Eu queria saber, isso é um código diferente do que o professor utilizou, ou é uma novidade de algum Java pós 9? Código completo (até o que eu fiz da aula) como referência

package br.com.bytebank.testes.util;
import java.util.ArrayList;
import br.com.Bytebank.banco.modelo.*;

public class Teste {
    public static void main(String[] args) {
        ArrayList<Conta> lista = new ArrayList<Conta>();
        ContaCorrente c1 = new ContaCorrente(234, "itu");
        lista.add(c1);
        ContaPoupanca c2 = new ContaPoupanca(1678, "Indaiatuba");
        lista.add(c2);
    }
}
1 resposta
solução!

Nao , voce so esta definindo o tipo de objetos da sua lista. A ide iria te sugerir isso mesmo se fosse java 9 .