método toString();

2 respostas
ricardocomp

Olá pessoal,
eu estou com uma classe aqui:

import java.util.ArrayList;
import java.util.List;

public class Catalogue {

	   private long id;
	   private List products = new ArrayList();
	   
	   public long getId() {
		   return this.id;
	   }
	   
	   public void setId(long id) {
		   this.id = id;
	   }

	   public String getProducts() {
		   return this.products.toString();
	   }
	   
	   public void setProducts(List products) {
		   this.products = products;
	   }
	   
	}

Se eu usar o método toString em getProducts(),
o que vai acontecer?
Eu estou com uma dúvida aqui eu não sei
como funciona o método toString() direito será
que alguém sabe o que vai acontecer
para poder me explicar mais ou menos?

[]'s.

2 Respostas

T

O método toString da classe ArrayList faz o seguinte: imprime um “[”, e chama sucessivamente o “toString” de cada objeto contido no ArrayList. No fim, imprime um “]”.

Por exemplo:

List lista = new ArrayList ();
lista.add (new Integer (10)); // Integer tem o método toString definido.
lista.add (new Abacaxi()); // Abacaxi não tem um método toString definido.
lista.add (new int[10]); // int[] e, de modo geral, qualquer array, não tem um método toString definido.
lista.add (new Pessoa ("jose", "aparecido")); // vamos dizer que Pessoa tem um método toString definido.
System.out.println (lista.toString()); //
// Vai imprimir:
// [10, LAbacaxi;@388df7, [I@99f8d2a, jose aparecido]

Quando uma classe não tem um método toString definido, então é usado o toString padrão da classe Object, que consiste em mostrar o nome da classe em formato esquisito, e então pôr o “@” mais o hashcode do objeto em formato hexadecimal.

ricardocomp

Valeu thingol,
muito obrigado mesmo
pela ajuda. =)

grande abraço.

Criado 19 de março de 2009
Ultima resposta 19 de mar. de 2009
Respostas 2
Participantes 2