Maison > Java > javaDidacticiel > Pourquoi la méthode `toString()` de Java produit-elle une sortie cryptique pour les tableaux ?

Pourquoi la méthode `toString()` de Java produit-elle une sortie cryptique pour les tableaux ?

Barbara Streisand
Libérer: 2024-11-16 11:01:03
original
428 Les gens l'ont consulté

Why Does Java's `toString()` Method Produce Cryptic Output for Arrays?

ToString() peu commun de Java pour les tableaux

En Java, la méthode toString() est censée fournir un outil utile et lisible par l'homme. représentation sous forme de chaîne d’un objet. Cependant, lorsqu'il s'agit de tableaux, cette attente ne se vérifie pas.

La particularité de ToString() d'un tableau

Considérez le code suivant :

char[] Array = {'a', 'b', 'c', 'd', 'e', 'f'};
System.out.println(Array.toString());
Copier après la connexion

Au lieu de renvoyer la chaîne attendue "abcdef", ce code affiche du charabia comme "[C@6e1408" ou "[C@e53108."

Ce comportement est dû au fait que l'implémentation toString() par défaut de Java pour les tableaux produit une chaîne cryptique contenant :

  • [ (crochet gauche)
  • C (type d'élément, 'C' pour char)
  • @ (séparateur)
  • code de hachage d'identité (un identifiant unique pour le tableau)

La solution

Pour obtenir une représentation sous forme de chaîne lisible par l'homme d'un tableau, utilisez le Méthode statique Arrays.toString() à la place :

System.out.println(Arrays.toString(Array));
Copier après la connexion

Cette méthode renvoie explicitement la chaîne "abcdef" souhaitée.

La justification

Java Le choix d'utiliser une implémentation cryptique de toString() pour les tableaux est souvent considéré comme une erreur. L'intention derrière cette conception était probablement de donner la priorité aux adresses mémoire lors du débogage, mais cela s'est avéré plus déroutant qu'utile dans l'utilisation quotidienne.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal