A saída está dessa forma:
[
Nome: João
Sexo:masculino
CPF: 12345678910
,
Nome: Paulo
Sexo:masculino
CPF: 12345678911
]
Gostaria que a saída do toString fosse dessa forma:
Nome: João
Sexo:masculino
CPF: 13026161454
Nome: Paulo
Sexo:masculino
CPF: 13026161455
Seria bom se vc nos mostrasse o método toString
e como vc está imprimindo os resultados para a gente poder te ajudar melhor.
Mas com base só na saída que vc mostrou, eu tenho quase certeza de que vc está colocando o “João” e o “Paulo” dentro de uma lista e, em seguida, imprimindo a lista.
Eu fiz um código para tentar reproduzir o que vc mostrou, veja se é parecido com o que vc fez.
import java.util.Arrays;
import java.util.List;
class Pessoa {
String nome;
String sexo;
String cpf;
Pessoa(String nome, String sexo, String cpf) {
this.nome = nome;
this.sexo = sexo;
this.cpf = cpf;
}
@Override
public String toString() {
return String.format("\nNome: %s\nSexo: %s\nCPF: %s\n", this.nome, this.sexo, this.cpf);
}
}
public class Program {
public static void main(String... args) { // @formatter:off
List<Pessoa> pessoas = Arrays.asList(
new Pessoa("João", "masculino", "12345678910"),
new Pessoa("Paulo", "masculino", "12345678911")
); // @formatter:on
System.out.println(pessoas);
}
}
Se for isso mesmo, o que vc deve fazer é não imprimir a lista em si, mas sim cada um de seus elementos individualmente. Para isso troque esta linha:
System.out.println(pessoas);
Por esta linha:
pessoas.forEach(System.out::print);
2 curtidas
Era exatamente isso amigo. Muito obrigado pela ajuda!
1 curtida