Aee pessoal, acredito que esse erro seja bem básico, mas ainda não consegui resolvê-lo. É o seguinte, segue abaixo o código:
package Lista;
public class TesteAdicionaNoFim {
public static void main(String[] args) {
// TODO Auto-generated method stub
Aluno a1 = new Aluno();
Aluno a2 = new Aluno();
a1.setNome("Julio");
a2.setNome("Cesar");
Vetor lista = new Vetor();
lista.adiciona(a1);
lista.adiciona(a2);
System.out.println(lista);
}
}
Mas quando executa, o que é retornado é o seguinte:
Lista.Vetor@923e30
Por que isso acontece?
Como eu consigo visualizar os dados que foram inseridos?
Agradeço quem puder me ajudar.
você não pode imprimir a lista, e sim o conteudo dela, como vc ta usando Vector…
tem que dar um get nos elementos dela.
se não me engano ela retorna por indice.
ai como você vai ler e com você pode fazer um for incrementando o indice i enquanto for menor que lista.size();
e fazer algo como:
String nome= ((Aluno)lista.get(i)).getNome(); dentro do laço
ou fazer isso via Iterator pra ficar mais bunitim =D
ps: cheio de erro de portugues hahah tive que editar 4 vezes… bebado é foda =\
Você deve sobrescrever o método toString() da classe Vetor. E faze-lo retornar o texto formatado da sua lista.
[code]public class Vetor {
… //Resto da implementação
public String toString() {
//Faça aqui a impressão do toString de todos os elementos
}
}
[/code]Outra alternativa é, ao invés de usar uma classe de Vetor própria, usar a classe ArrayList. O toString do ArrayList já tem esse tipo de implementação. Para ver como usa um ArrayList, dá uma olhada no tópico:
http://www.guj.com.br/posts/list/74068.java#389435
EDIT: Olhando seu exemplo, acho que não vai ser o caso. Me parece que o seu objetivo é implementar no braço um vetor dinâmico, certo?