Table des matières:
Vidéo: Cours JAVA Tutoriel # 5 " Methodes: toString() et equals()" 2024
La méthode
toString
renvoie une représentation
String
d'un objet en Java. Par défaut, la méthode
toString
renvoie le nom de la classe de l'objet plus son code de hachage. Ici, vous découvrirez comment utiliser la méthode
toString
et comment la surcharger dans vos propres classes pour créer des chaînes plus utiles.
Utiliser toString en Java
Voici un programme simple qui fait fonctionner la méthode
toString
:
public class TestToString
{
public static void principal (String [] args)
{
Employé emp = new Employé ("Martinez",
" Anthony ");
Système. en dehors. println (emp to toString ());
}
}
class Employé
{
private String lastName;
private String firstName;
public Employee (Chaîne lastName, String firstName)
{
this. lastName = lastName;
ceci. firstName = firstName;
}
}
Ce code crée un nouvel objet
Employee
; alors le résultat de sa méthode
toString
est imprimé sur la console. Lorsque vous exécutez ce programme, la ligne suivante est imprimée sur la console:
Employee @ 82ba41
Note: Le code de hachage - dans ce cas,
82ba41
- sera sans aucun doute différent sur votre système.
Il s'avère que l'appel explicite à
toString
n'est pas vraiment nécessaire dans cet exemple. Vous auriez tout aussi bien pu écrire la deuxième ligne de la méthode
main
comme ceci:
System. en dehors. println (emp);
C'est parce que la méthode
println
appelle automatiquement la méthode
toString
de tout objet que vous lui transmettez.
Remplacer toString en Java
L'implémentation par défaut de
toString
n'est pas très utile dans la plupart des cas. Vous n'en apprenez pas beaucoup sur un objet
Employee
en voyant son code de hachage, par exemple. Ne serait-il pas préférable que la méthode
toString
renvoie des données réelles de l'objet, telles que le nom de l'employé?
Pour ce faire, vous devez remplacer la méthode
toString
dans vos classes. En fait, l'une des directives de base de la programmation orientée objet en Java est de toujours remplacer
toString
. Voici un programme simple avec une classe
Employee
qui remplace
toString
:
public class TestToString
{
public static void principal (String [] args)
{
Employé emp = nouvel employé ("Martinez",
"Anthony");
Système. en dehors. println (emp to toString ());
}
}
class Employé
{
private String lastName;
private String firstName;
public Employee (Chaîne lastName, String firstName)
{
this.lastName = lastName;
ceci. firstName = firstName;
}
public Chaîne toString ()
{
renvoie "Employé ["
+ ceci. firstName + ""
+ ceci. lastName + "]";
}
}
Lorsque vous exécutez ce programme, la ligne suivante s'affiche sur la console:
Employé [Anthony Martinez]
Notez que la sortie se compose du nom de classe suivi de quelques données de l'objet entre parenthèses. Cette convention est courante dans la programmation Java.
Le seul problème avec l'exemple précédent est que le nom de la classe est codé en dur dans la méthode
toString
. Vous pouvez utiliser la méthode
getClass
pour récupérer le nom de classe réel lors de l'exécution:
public String toString ()
{
renvoie ceci. getClass (). getName () + "["
+ this. firstName + ""
+ ceci. lastName + "]";
}
Ici, la méthode
getClass
renvoie un objet
Class
qui représente la classe de l'objet courant. Ensuite, la méthode
getName
de l'objet
Class
est utilisée pour obtenir le nom de classe réel.