Maison > Java > javaDidacticiel > Que signifie \'[Ljava.lang.Object;\' dans la syntaxe des tableaux Java ?

Que signifie \'[Ljava.lang.Object;\' dans la syntaxe des tableaux Java ?

Mary-Kate Olsen
Libérer: 2024-11-19 11:51:02
original
1051 Les gens l'ont consulté

What Does

Comprendre l'encodage de "[Ljava.lang.Object;": un guide de la syntaxe des tableaux Java

Lors de la demande de représentation sous forme de chaîne de un objet reçu d'un appel de fonction, vous pouvez rencontrer un codage inconnu : "[Ljava.lang.Object;". Pour comprendre cela, il est essentiel de comprendre la syntaxe du tableau Java et le schéma d'encodage sous-jacent.

Encodage des types de tableau

L'encodage fourni est le nom complet de la classe, mais dans un format concis. Java nomme les classes de tableaux en utilisant un modèle spécifique, tel que défini dans la méthode Class.getName(). Dans ce cas, l'encodage indique un type de tableau, qui suit les règles suivantes :

  • Si le type d'élément n'est pas lui-même un type de tableau, il représente son nom binaire tel que spécifié dans la spécification du langage Java.
  • Si le type d'élément est primitif ou vide, son mot-clé en langage Java est renvoyé.
  • Si le type d'élément est une classe de tableaux, le nom est constitué du nom du type d'élément précédé d'un ou plusieurs caractères '['.

Décodage de l'exemple

Dans notre exemple, "[Ljava.lang.Object;" suit la dernière règle. 'L' représente le type d'élément, qui est Objet, et [; indique qu'il s'agit d'un tableau de ce type. Par conséquent, cet encodage représente la classe d'un tableau d'objets.

toString() et Arrays

La classe Object de Java fournit une méthode toString() par défaut qui affiche la classe nom suivi du code de hachage. Puisque les tableaux héritent d’Object, leur implémentation toString() suit ce format. Cependant, leurs noms de classe codés empêchent une représentation lisible par l'homme.

Représentations de chaînes alternatives

java.util.Arrays fournit une alternative aux surcharges de chaînes pour l'impression de tableaux. Arrays.toString() fournit une représentation plus utile pour les tableaux primitifs, tandis qu'Arrays.deepToString() fait la même chose pour les tableaux imbriqués.

Conclusion

Comprendre le "[ Ljava.lang.Object;" l'encodage est crucial lors de l'inspection des tableaux en Java. En connaissant le schéma de codage, vous pouvez le décoder et mieux comprendre la structure du tableau. java.util.Arrays fournit également des méthodes alternatives toString() qui offrent des représentations plus lisibles.

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