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

Curso java e suas bibliotecas / aula collections framework / exercicio3

Olá, pessoal. Estou seguindo o exemplo do exercício 3, mas, a classe não compila. o eclipse acusa erro na linha:

Collections.sort(contas);

eis o erro:

Bound mismatch: The generic method sort(List) of type Collections is not applicable for the arguments (List). The inferred type Conta is not a valid substitute for the bounded parameter >

O que estou fazendo de errado?

3 respostas

Oi Fred, tdo bem? Você pode postar seu código aqui ?

Oi Fred,

apenas para esclarecer para quem ler sua dúvida, o que deixou de compilar não é a classe ContaPoupanca, mas sim a TestaOrdenacao. Algo como:

    ContaPoupanca c1 = new ContaPoupanca();
    c1.deposita(500);

    ContaPoupanca c2 = new ContaPoupanca();
    c2.deposita(200);

    ContaPoupanca c3 = new ContaPoupanca();
    c3.deposita(150);

    List<ContaPoupanca> contas = new ArrayList<>();
    contas.add(c1);
    contas.add(c3);
    contas.add(c2);

    Collections.sort(contas);

A última linha aqui, deixou de compilar, correto?

O que acontece aqui é exatamente o que você respondeu nesse exercício: "a interface é a garantia de que o metodo estará lá".

O método sort da Collections precisa ter a garantia de que o método compareTo vai existir nos objetos dessa lista de ContaPoupanca, isto é, para compilar, ele precisa que a ContaPoupanca garanta que terá o método implementado... e o implements Comparable é que dá essa garantia.

solução!

entendi. obrigado, Cecilia.