Maison > Java > javaDidacticiel > Pourquoi `Array.toString()` produit-il une sortie inattendue pour les tableaux de caractères en Java ?

Pourquoi `Array.toString()` produit-il une sortie inattendue pour les tableaux de caractères en Java ?

DDD
Libérer: 2024-11-24 05:25:10
original
1061 Les gens l'ont consulté

Why Does `Array.toString()` Produce Unexpected Output for Character Arrays in 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));
    }
}
Copier après la connexion

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal