Objeto para String

1 resposta
maiden

Boa noite estou com uma duvida

tenho uma classe Conta que utiliza a interface Comparable

public class Conta implements Comparable<Conta> {

        //outros métodos e atributos logo acima
        
	public int compareTo(Conta outra) {
		
		if(this.saldo < outra.saldo){
			return -1;
		}
		
		if(this.saldo > outra.saldo){
			return 1;
		}
		
		return 0;
	}
}

Agora tenho a classe UsandoSort

public class UsandoSort {

	public static void main(String[] args) {
		
                Conta c1 = new Conta();
		c1.depositar(900);
		
		Conta c2 = new Conta();
		c2.depositar(100);
		
		Conta c3 = new Conta();
		c3.depositar(590);
		
		List<Conta> contas = new ArrayList<>();
		contas.add(c1);
		contas.add(c2);
		contas.add(c3);
		
		Collections.sort(contas);
		System.out.println(contas.toString().valueOf(contas));
	}
}

minha duvida é nessa linha:

System.out.println(contas.toString().valueOf(contas));

Aqui deveria transformar os valores do objeto em string, só que retornando o endereço da memória, queria saber o porquê?
e como deveria ser implementado corretamente

se alguém puder me ajudar agradeço desde já

1 Resposta

maiden

Consegui a resposta no artigo da DevMedia

http://www.devmedia.com.br/forum/converter-uma-lista-em-uma-string/512850

na classe conta:

@Override
	public String toString() {
		return "saldo: " + this.saldo + ", limite: " + this.limite; 
	}

e na classe UsandoSort usando o sysout que vai funfar numa boa!

System.out.print(contas)

Valeu galera!

Criado 5 de março de 2015
Ultima resposta 6 de mar. de 2015
Respostas 1
Participantes 1