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() ?