Maison >Java >javaDidacticiel >Pourquoi `Array.toString()` produit-il une sortie inattendue pour les tableaux de caractères en Java ?
Sortie inattendue de Array.toString()
En Java, la méthode toString() est couramment utilisée pour convertir un tableau en un humain -représentation sous forme de chaîne lisible. Cependant, dans le cas de tableaux de caractères, l'implémentation par défaut de toString() génère une sortie inattendue, qui apparaît sous la forme d'une séquence aléatoire de caractères.
Ce problème se pose car la méthode toString() par défaut implémentée pour les tableaux renvoie le code de hachage d'identité du tableau, noté "[C@suivi d'un nombre hexadécimal. Cette représentation est utile à des fins de débogage, mais pas pour les humains". consommation.
Solution : Utilisation d'Arrays.toString()
Pour obtenir une représentation sous forme de chaîne lisible par l'homme d'un tableau de caractères, vous devez utiliser Arrays.toString( ) à la place. Cette méthode gère spécifiquement les tableaux de caractères et les convertit en une chaîne contenant tous les caractères du tableau.
Vous trouverez ci-dessous un code mis à jour. extrait qui montre comment utiliser Arrays.toString() :
import java.util.Arrays; class ToString { public static void main(String[] args) { char[] array = {'a', 'b', 'c', 'd', 'e', 'f'}; System.out.println(Arrays.toString(array)); } }
Ce code imprimera le résultat attendu : "abcdef".
Explication
La méthode Arrays.toString() est spécifiquement conçue pour gérer des tableaux de différents types, y compris des tableaux de caractères. Il parcourt le tableau, ajoutant chaque caractère à la chaîne résultante. Ce processus aboutit à une représentation sous forme de chaîne lisible par l'homme du tableau.
Raison du comportement par défaut
L'implémentation par défaut de toString() pour les tableaux était destinée à fournir une représentation concise représentation du tableau à des fins de débogage. En affichant le code de hachage d'identité, il permet aux développeurs d'identifier rapidement l'emplacement mémoire du tableau et de le différencier des autres tableaux.
Cependant, cette représentation n'est pas pratique pour afficher le contenu du tableau aux utilisateurs ou pour utiliser dans des scénarios où la représentation sous forme de chaîne est destinée à être lue ou traitée.
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!