Maison > Java > javaDidacticiel > Pourquoi `toString()` ne parvient-il pas à convertir les tableaux en chaînes lisibles par l'homme en Java ?

Pourquoi `toString()` ne parvient-il pas à convertir les tableaux en chaînes lisibles par l'homme en Java ?

Linda Hamilton
Libérer: 2024-11-16 04:37:03
original
622 Les gens l'ont consulté

Why Does `toString()` Fail to Convert Arrays to Human-Readable Strings in Java?

Pourquoi la méthode toString() n'est pas adaptée aux tableaux

En Java, la méthode toString() est un outil pratique pour convertir des objets en leurs représentations de chaînes lisibles par l’homme. Cependant, il peut se comporter étrangement lorsqu'il est appliqué à des tableaux.

Le problème :

Lorsque vous tentez de convertir un tableau de caractères en chaîne à l'aide de toString(), Java ne le fait pas. fournir le résultat attendu. Au lieu de cela, il génère une chaîne déroutante contenant des crochets, un caractère représentant le type d'élément du tableau ("C" pour char) et un code de hachage numérique ("[C@e53108").

L'explication :

L'implémentation toString() par défaut de Java pour les tableaux est conçue pour renvoyer le type du tableau et son « code de hachage d'identité », qui est un identifiant unique pour l'objet tableau en mémoire. Ces informations sont principalement utiles à des fins de débogage et ne sont pas destinées à la consommation humaine.

La solution :

Pour obtenir une représentation lisible par l'homme d'un tableau, Java fournit un méthode alternative appelée Arrays.toString(). Cette méthode convertit les éléments du tableau en une chaîne séparée par des virgules, fournissant ainsi une sortie plus accessible.

Dans l'exemple de code, la modification suivante résout le problème :

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

En utilisant des tableaux. toString(), la sortie renvoie désormais correctement "abcdef", comme prévu, sans aucun charabia.

Un historique Erreur ?

Le comportement toString() par défaut de Java pour les tableaux a souvent été critiqué comme une « erreur », car il peut être déroutant et peu intuitif. Certains développeurs soutiennent qu'il aurait dû renvoyer les éléments du tableau d'une manière plus significative par défaut, similaire à Arrays.toString().

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