Índice:
Vídeo: 57.- Curso Java.- Método toString( )- ¿Para qué se usa? 2024
O método
toString
retorna uma representação
String
de um objeto em Java. Por padrão, o método
toString
retorna o nome da classe do objeto mais seu código de hash. Aqui, você descobre como usar o método
toString
e como substituí-lo em suas próprias classes para criar cadeias mais úteis.
Usando o toString em Java
Aqui está um programa simples que coloca o método
toString
para funcionar:
classe pública TestToString
{
public static void main (String [] args)
{
Employee emp = new Employee ("Martinez",
" Anthony ");
Sistema. Fora. println (emp. toString ());
}
}
classe Empregado
{
private Nome da Cadeia de caracteres;
private String firstName;
funcionário público (String lastName, String firstName)
{
isto. lastName = lastName;
isto. firstName = firstName;
}
}
Este código cria um novo
Empregado
objeto; então o resultado do seu método
toString
é impresso no console. Quando você executa este programa, a seguinte linha é impressa no console:
Empregado @ 82ba41
Nota: O código hash - neste caso,
82ba41
- será, sem dúvida, diferente do seu sistema.
Acontece que a chamada explícita para
toString
não é realmente necessária neste exemplo. Você poderia escrever com facilidade a segunda linha do método
principal
como este:
Sistema. Fora. println (emp);
Isso ocorre porque o método
println
chama automaticamente o método
toString
de qualquer objeto que você passar.
Substituindo toString em Java
A implementação padrão de
toString
não é muito útil na maioria das situações. Você realmente não aprende muito sobre um objeto
Empregado
ao ver seu código hash, por exemplo. Não seria melhor se o método
toString
devolvesse alguns dados reais do objeto, como o nome do funcionário?
Para fazer isso, você deve substituir o método
toString
em suas aulas. De fato, uma das diretrizes básicas da programação orientada a objetos em Java é sempre substituir
toString
. Aqui está um programa simples com uma classe
Employee
que substitui
toString
:
classe pública TestToString
{
public static void main (String [] args)
{
Employee emp = new Employee ("Martinez",
"Anthony");
Sistema. Fora. println (emp. toString ());
}
}
classe Empregado
{
private Nome da Cadeia de caracteres;
private String firstName;
funcionário público (String lastName, String firstName)
{
isto.lastName = lastName;
isto. firstName = firstName;
}
public String toString ()
{
retorna "Empregado ["
+ isso. primeiro nome + ""
+ isto. último nome + "]";
}
}
Quando você executa este programa, a seguinte linha é exibida no console:
Empregado [Anthony Martinez]
Observe que a saída consiste no nome da classe seguido por alguns dados do objeto entre parênteses. Esta convenção é comum na programação Java.
O único problema com o exemplo anterior é que o nome da classe está codificado no método
toString
. Você pode usar o método
getClass
para recuperar o nome da classe real em tempo de execução:
public String toString ()
{
retorna isso. getClass (). getName () + "["
+ isso. primeiro nome + ""
+ isto. último nome + "]";
}
Aqui o método
getClass
retorna um objeto
Classe
que representa a classe do objeto atual. Em seguida, o
Classe
objeto
getName
método é usado para obter o nome da classe real.