Nous savons que l'appel de la méthode toString() d'un objet affichera directement les informations d'attribut de l'objet, mais comment est-il implémenté ? Et comment mieux y parvenir ? Maintenant, apprenons.
Nous pouvons savoir grâce à la documentation Java que la méthode toString() est définie dans la classe Object, et que son type de valeur de retour est de type String, renvoyant le nom de la classe et son adresse de référence.
Lors de la connexion de la classe String à d'autres types, la méthode toString() est automatiquement appelée. La démo est la suivante :
Date now = new Date(); System.out.println("now = " + now);//相当于下一行代码 System.out.println("now = " + now.toString());
Dans les applications réelles, elle peut être réécrite dans des types définis par l'utilisateur. selon les besoins. méthode toString(), par exemple, la classe Stirng remplace la méthode toString() et renvoie la valeur de la chaîne comme suit
System.out.println(s1);//相当于下一行代码 System.out.println(s1.toString());
Le type de données de base est converti en type String. , et la méthode toString() de la classe d'empaquetage correspondante est appelée. , la démo est la suivante :
int a = 10; System.out.println("a = " + a);
Voyons maintenant à quoi ressemble le code source dans jdk :
public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }
Maintenant, voyons entraînez-vous à l'utiliser :
Person p1 = new Person(); System.out.println(p1.toString());//TestEquals.Person@15db9742 System.out.println(p1);//TestEquals.Person@15db9742 因为输出的时候回默认调用Objec类toString()方法
Lorsque nous imprimons un objet Lorsqu'elle est référencée, la méthode toString() de cet objet est en fait appelée par défaut
Lorsque la classe de l'objet imprimé ne remplace pas la toString () dans Object, la méthode toString() dans la classe Object est appelée par défaut.
Renvoie la classe de cet objet et la première valeur d'adresse de l'entité d'objet d'espace de tas correspondante.
Lorsque la classe dans laquelle nous imprimons l'objet remplace toString(), la méthode toString() remplacée est appelée. Généralement, la substitution consiste à renvoyer les informations d'attribut de l'objet de classe.
On peut également personnaliser une méthode tostring() :
//手动实现 public String toString(){ return " Person:name=" + name +" age=" + age; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!