Sobre o Metodo toString()

Bom dia, gostaria de saber como funciona esse metodo …
Citando um exemplo por favor…

Oi,

[b]toString

público String toString () [/b]

Retorna uma representação string do objeto. Em geral, o toString retorna uma string que "textualmente representa" esse objeto. O resultado deve ser uma representação concisa, mas informativa que é fácil para uma pessoa ler. Recomenda-se que todas as subclasses substituir esse método.

O toString método para a classe Object retorna um string com o nome da classe da qual o objeto é uma instância, o carácter de sinal, ` @ ', eo representação hexadecimal sem sinal do código hash do objeto. Em outras palavras, este método retorna uma string igual ao valor de:

    [code]  getClass (). getName () + '@' + Integer.toHexString (hashCode ())[/code]

Retorna:
uma representação de string do objeto.

Fonte: http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html

Por exemplo você tem um Objeto e tentar “printar” ele, ele vai voltar a referência do Objeto algo como 000f# (por exemplo).

Aí você vai lá é Sobrescreve o método toString que irá voltar uma String representando tal objeto exemplo:


public class Aluno {
private String nome;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String toString() {
return this.nome;
}

Agora assim ele imprimi “Nome”.

7 curtidas

O exemplo do Felipe é muito bom. Fácil de entender a aplicação do toString(). :smiley:

[quote=Anime]Oi,

[b]toString

público String toString () [/b]

Retorna uma representação string do objeto. Em geral, o toString retorna uma string que "textualmente representa" esse objeto. O resultado deve ser uma representação concisa, mas informativa que é fácil para uma pessoa ler. Recomenda-se que todas as subclasses substituir esse método.

O toString método para a classe Object retorna um string com o nome da classe da qual o objeto é uma instância, o carácter de sinal, ` @ ', eo representação hexadecimal sem sinal do código hash do objeto. Em outras palavras, este método retorna uma string igual ao valor de:

    [code]  getClass (). getName () + '@' + Integer.toHexString (hashCode ())[/code]

Retorna:
uma representação de string do objeto.

Fonte: http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html
[/quote]

Ela disse tudo.

Então , toString, serve para me mostrar ( Usuario ) onde esta sendo guardado o valor ?

Opa td bem…
Não sei se seria bem isso:
O método toString(); vem de java.lang.Object que é o “pai” de todos os objetos em java, e todas as classes java herdam este método e podem reimplementá-lo (polimorfismo). Ele é bastante útil para obter informações sobre os estados dos objetos, mas claro serve para outros propósitos.
Veja o exemplo.

public class Pessoa{

        private String nome;
	
	public String toString(){
		return "Nome:"+ this.nome;
	}

}

//se vc chamar o metodo toString de um objeto Pessoa vai retornar o seguinte Nome: valor do atributo nome.
new Pessoa().toString();

Isso demonstra que vc pode criar e controlar o metodo toString em todas as classes.
Espero ter ajudado valew!

http:wolmirgarbin.wordpress.com

Amigo, um exemplo tirado de um trabalho que fiz recentemente da faculdade é esse aqui:

[code]
StringBuffer dadosTamanho = new StringBuffer(dados);

			dadosTamanho.setLength(30);

			produto[p] = new Produto();
			produto[p].nome = dadosTamanho.toString();[/code]

É que eu queria estabelecer um tamanho fixo para a String, mas pelo que sei não dá (posso estar errado, sou novato na área). Então vi no site da Oracle sobre o StringBuffer (que dá para ter o tamanho pré-estabelecido), crei com o tamanho que eu queria (30, no caso) e depois para jogar de volta para String usei o método toString(). Espero ter ajudado.

Abraço!