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

Erro na collection.

ContaPoupanca.java

package br.com.empresa.banco.conta;

import br.com.empresa.banco.conta.Conta;

/**
 * ex 2 aula 5
 * Created by Allan on 04/09/2016.
 */
public class ContaPoupanca extends Conta implements Comparable<ContaPoupanca>{

    public void atualiza(double taxa){
        this.saldo += this.saldo * taxa * 3;
    }

    public void deposita(double valor){
        this.saldo += valor - 0.10;
    }

    @Override
    public int compareTo(ContaPoupanca c) {
        // TODO Auto-generated method stub
        return this.getNumero() - c.getNumero();

    }




}

TestaOrdenacao.java

package br.com.empresa.banco;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import br.com.empresa.banco.conta.Conta;
import br.com.empresa.banco.conta.ContaPoupanca;

public class TestaOrdenacao {
    public static void main(String[] args){
        Conta c1 = new ContaPoupanca();
        Conta c2 = new ContaPoupanca();

        c1.setNumero(69);
        c2.setNumero(24);

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

        lista.add(c1);
        lista.add(c2);

        System.out.println(lista);

        Collections.sort(lista);

        System.out.println(lista);





    }

}

Na linha do 'Collections.sort(lista), recebo um erro:

The method sort(List) in the type Collections is not applicable for the arguments (List)

O que posso fazer para resolver?

2 respostas
solução!

A classe Conta implementa Comparable? Acho que o problema é esse.

Acabei tendo que fazer com que ele implementasse Conta e não ContaPoupanca como no exercício. Aí funcionou.