Porque quando eu uso esse código:
package collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Principal2 {
public static void main(String[] args) {
List<ContaPoupanca> contas = new ArrayList<ContaPoupanca>();
ContaPoupanca c1 = new ContaPoupanca("caio",500);
c1.deposita(2059.99);
contas.add(c1);
ContaPoupanca c2 = new ContaPoupanca("luzia",495);
c1.deposita(1070.00);
contas.add(c2);
ContaPoupanca c3 = new ContaPoupanca("guilherme",302);
c3.deposita(2500.50);
contas.add(c3);
Collections.sort(contas);
for(ContaPoupanca i : contas){
System.out.println(i);
}
}
}
ele retorna isso: collections.ContaPoupanca@1db9742 collections.ContaPoupanca@106d69c collections.ContaPoupanca@52e922
Agora quando eu faço esse código:
package collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Principal {
public static void main(String[] args) {
List<ContaPoupanca> contas = new ArrayList<>();
ContaPoupanca cp1 = new ContaPoupanca("fred", 456);
cp1.deposita(100);
ContaPoupanca cp2 = new ContaPoupanca("laura", 123);
cp2.deposita(200);
ContaPoupanca cp3 = new ContaPoupanca("adriana", 789);
cp3.deposita(200);
contas.add(cp1);
contas.add(cp2);
contas.add(cp3);
Collections.sort(contas);
for (ContaPoupanca conta : contas) {
System.out.println(conta.getSaldo() +" "+ conta.getNome());
}
}
}
ele retorna isso: 199.9 laura 99.9 fred 199.9 adriana
o segundo eu sei que eu estou fazendo ele retrona os dados que eu informei mais porque o primeiro codigo mencionado retorna aquilo e não o que realmente está dentro da array cantas??????