Vetores. Como fazer pra imprimir uma lista de objetos?

package Meuscodigos;

import java.io.*;

class Vetor1{
	
	private Object item[];
	private int primeiro,ultimo,pos;
	
	
	
	public Vetor1(int tamanhoMaximo){
		
		this.item = new Object[tamanhoMaximo];
		this.pos=-1;
		this.primeiro=0;
		this.ultimo=this.primeiro;
		
	}
	
	public void insere(Object x) throws Exception{
		
		if(this.ultimo>= this.item.length)
			throw new Exception("Erro:A lista esta cheia");
		else{this.item[this.ultimo]=x; this.ultimo = this.ultimo+1 ;}
		
	}
	
	public static void main(String[] args){
		
		try {
    
			Vetor1 lista = new Vetor1(5);

			Integer obj_int = new Integer(5);
			
			
			lista.insere(obj_int);

			System.out.println(lista);
	
		} 
	
		catch(Exception e){
	
			e.printStackTrace();
		
		}	
	
			
	}
}

Deveria imprimir o número “5”.

O que ocorre é o que está sendo impresso é o endereço de memória do seu objeto, não seu conteúdo.

Você tem 2 opções mais simples:

  • criar um método imprimir() na sua classe Vetor1 que faz um loop e exibir cada um dos itens do vetor, chamando esse método ao invés de fazer System.out.println(lista);
  • sobrescrever o método toString() da classe Vetor1 para fazer esse trabalho, daí você pode manter o System.out.println(lista);

Abraço.

1 curtida

Terra poderia me mostrar como voce desenvolveu o metodo mostrar() ?