Bom dia pessoal, eu estou com uma pequena duvida e gostaria da ajuda de vcs. tenho a minha classe Pessoa e no main um arraylist para guardar objetos do tipo Pessoa. Segue o codigo:
publicclassPessoa{privateStringnome;privateintidade;publicPessoa(Stringnome,intidade){this.nome=nome;}publicStringgetNome(){returnnome;}publicvoidsetNome(Stringnome){this.nome=nome;}publicintgetIdade(){returnidade;}publicvoidsetIdade(intidade){this.idade=idade;}@OverridepublicStringtoString(){returnString.valueOf(this.idade);}publicstaticvoidmain(String[]args){List<Pessoa>lista=newArrayList<Pessoa>();Pessoat1=newPessoa("nome1",10);Pessoat2=newPessoa("nome2",20);Pessoat3=newPessoa("nome3",30);lista.add(t1);lista.add(t2);lista.add(t3);System.out.println(lista);// nao imprimi o valor das idades corretamente.}}
A minha duvida eh q eu nao consigo mostrar somente as idades das pessoas redefinindo o metodo toString, consigo com sucesso mostrar os nomes mas nao as idades pelo fato de ser int.
quando vc diz q a dica ta no construtor, seria colocar Integer ao inves de int? Pq mesmo se for desse jeito eu gostaria da ajuda em relaçao a usar int mesmo.
valeuuu!!!
Mero_Aprendiz
quando vc diz q a dica ta no construtor, seria colocar Integer ao inves de int? Pq mesmo se for desse jeito eu gostaria da ajuda em relaçao a usar int mesmo.
valeuuu!!!
Quando ele disse o contrutor, e porque você não está passando o valor do parametro para o atributo da classe:
publicPessoa(Stringnome,intidade){this.nome=nome;//Cade o this.idade = idade ?}
[]'s
JL
guisantogui
jah tentou
tenta fazer um metodo q pegue soh a idade do usuario e depois
System.out.println(lista.nomeDoMetodo())
Henrique_Fernandes
Mero_Aprendiz, realmente foi isso mesmo esqueeci de colocar a idade no construtor. Ajeitei isso e ajeitei o metodo, e consegui resolver o problema.
amigo, sem querer fazer um overhead no topico, é interessante vc colocar mais informações sobre seu objeto no metodo to string, para poder identificar cada instancia por exemplo.
segundo o livro effective java
When practical, the toString method should return all of the interesting
information contained in the object…
no seu caso vc pode imprimir o nome a idade, assim vc sabe a qual a idade pertence.
abrassssss
Mero_Aprendiz
renanreismartins:
amigo, sem querer fazer um overhead no topico, é interessante vc colocar mais informações sobre seu objeto no metodo to string, para poder identificar cada instancia por exemplo.
segundo o livro effective java
When practical, the toString method should return all of the interesting
information contained in the object…
no seu caso vc pode imprimir o nome a idade, assim vc sabe a qual a idade pertence.
abrassssss
Joshua tem toda a razão.
E para facilitar, tem um Builder na apache.commons.lang que facilita o trabalho: