Metodo toString()

5 respostas
LPJava

ae galera qual o objetivo mesmo de usar o metodo toString? nao entendi o uso deste metodo, encontrei ele bastante em polimorfismo, herança… e class abstract quem puder mim ajudar pq usa-lo e qdo usa-lo agradeço hehe!

5 Respostas

ItaloE

ele é usado para retornar a String que representa um objeto ou simplesmente retornar um texto.

ex:

Integer x = 10;

System.out.println(x.toString());

(claro q neste o sysout chama esse método automaticamente)  portanto System.out.println(x);  tb funciona.

no caso de classe é retornado m id para a mesma… algo tipo @3534fiyg

diego2005

Quando você quer fornecer informações uteis sobre suas classes você pode subscrever o método toString(). Por exemplo:

public class MyClass
{
    String nome;

    public MyClass(String nome)
    {
         this.nome = nome;
    }

    public String toString()
    {
         return "Meu nome e' " + nome;
    }

    public static void main(String[] args)
    {
         MyClass obj1 = new MyClass("Diego");

         System.out.println(obj1.toString()); // imprime: Meu nome e' Diego
         System.out.println(obj1); // chama toString automaticamente
    }
}

No caso da classe String, ela retorna a própria String:

String str = "Java";
System.out.println(str); // chama toString e imprime: Java

Entendeu??

cassio

O método toString é um método da classe Object, toda classe que você criar herdará este método. Para fazer com que ele gere informações específicas para objetos da classe que vocë criou, você deve sobrescrever este método. Ele é bastante útil para debugar código ou quando você quer exibir informações sobre o estado interno do objeto.

Abraço!

LPJava

opa, galera valeu ai, entao por exemplo se eu trabalhar com herança e na classe super eu tenho o metodo toString e se na subaclasse eu quiser imprimir os dados da classe da super + o da super eh so eu sobescrever o metodo.
Concluido eh melhor usar o toString do que o println e printf?

cassio

Camilo,

Na verdade o toString não imprime nada, ele só retorna uma String. Logo, não tem como fazer essa comparação que vc falou

Porque o normal é vc fazer algo assim:

System.out.print(seuObjeto.toString());

Acho que o que vc quis dizer com

foi imprimir os dados da classe pai concatenados com os dados da classe derivada, certo?

Nesse caso vc poderia criar um método toString mais ou menos assim:

public String toString(){
   return super.toString() + "Atributo A: "+ atributo_A + "Atributo_B: "+ atributo_B;
}

Abraço!

Criado 25 de outubro de 2006
Ultima resposta 25 de out. de 2006
Respostas 5
Participantes 4