logo

Método Java toString()

Se você quiser representar qualquer objeto como uma string, Método toString() passa a existir.

O método toString() retorna a representação String do objeto.

Se você imprimir qualquer objeto, o compilador Java invoca internamente o método toString() no objeto. Portanto, substituir o método toString() retorna a saída desejada, pode ser o estado de um objeto, etc., dependendo da sua implementação.

um objeto em java

Vantagem do método Java toString()

Ao substituir o método toString() da classe Object, podemos retornar valores do objeto, portanto não precisamos escrever muito código.

Entendendo o problema sem o método toString()

Vamos ver o código simples que imprime a referência.

Aluno.java

 class Student{ int rollno; String name; String city; Student(int rollno, String name, String city){ this.rollno=rollno; this.name=name; this.city=city; } public static void main(String args[]){ Student s1=new Student(101,'Raj','lucknow'); Student s2=new Student(102,'Vijay','ghaziabad'); System.out.println(s1);//compiler writes here s1.toString() System.out.println(s2);//compiler writes here s2.toString() } } 

Saída:

algoritmo knn
 Student@1fee6fc Student@1eed786 

Como você pode ver no exemplo acima, imprimir s1 e s2 imprime os valores hashcode dos objetos, mas quero imprimir os valores desses objetos. Como o compilador Java chama internamente o método toString(), substituir esse método retornará os valores especificados. Vamos entender isso com o exemplo abaixo:

Exemplo de método Java toString()

Vamos ver um exemplo do método toString().

Aluno.java

um milhão em números
 class Student{ int rollno; String name; String city; Student(int rollno, String name, String city){ this.rollno=rollno; this.name=name; this.city=city; } public String toString(){//overriding the toString() method return rollno+' '+name+' '+city; } public static void main(String args[]){ Student s1=new Student(101,'Raj','lucknow'); Student s2=new Student(102,'Vijay','ghaziabad'); System.out.println(s1);//compiler writes here s1.toString() System.out.println(s2);//compiler writes here s2.toString() } } 

Saída:

 101 Raj lucknow 102 Vijay ghaziabad 

No programa acima, o compilador Java chama internamente para sequenciar() método, substituir este método retornará os valores especificados de s1 e s2 objetos da classe Student.