Meu código não compila quando deixo de usar uma implantação específica e utilizo a interface List apenas. Alguém sabe o porquê?
package br.com.empresa.banco;
import java.awt.List;
import java.util.ArrayList;
import br.com.empresa.banco.conta.Cliente;
import br.com.empresa.banco.conta.Conta;
import br.com.empresa.banco.conta.ContaCorrente;
import br.com.empresa.banco.conta.ContaPoupanca;
public class TestaList {
    public static void main(String[] args) {
        List<String> nomes = new ArrayList<>(); // aqui não compila
        nomes.add("Igor");
        nomes.add("Thamyris");
        nomes.add("Isadora");
        System.out.println(nomes.size());
        List<Conta> contas = new ArrayList<>(); //aqui também não
        Cliente igor = new Cliente("Igor Rodrigues", "374.151.988-08");
        Conta contaCorrenteDoIgor = new ContaCorrente(156, 156, igor);
        contaCorrenteDoIgor.deposita(1500);
        Conta contaPoupancaDoIgor = new ContaPoupanca(156, 156, igor);
        contaPoupancaDoIgor.deposita(1700);
        contas.add(contaCorrenteDoIgor);
        contas.add(contaPoupancaDoIgor);
    }
}Erro: Exception in thread "main" java.lang.Error: Unresolved compilation problems: The type List is not generic; it cannot be parameterized with arguments The type List is not generic; it cannot be parameterized with arguments
at br.com.empresa.banco.TestaList.main(TestaList.java:14)
 
            