"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Qu'est-ce que l'énigme \"[B\\@\" : Comprendre la notation Java Byte Array ?

Qu'est-ce que l'énigme \"[B\\@\" : Comprendre la notation Java Byte Array ?

Publié le 2024-11-12
Parcourir:583

 What is the \

Résoudre l'énigme "[B\@" : comprendre la notation Java Byte Array

La représentation particulière "[B\@" rencontrée lorsque l'impression de tableaux d'octets en Java a souvent intrigué les développeurs. Que signifie-t-il et comment pouvons-nous déchiffrer sa signification ?

Décoder le symbolisme

La notation "[B@" n'est pas une représentation hexadécimale du contenu d'un tableau d'octets mais plutôt un descripteur d'objet. Chaque composant représente un aspect spécifique :

  • [ : Désigne un type de tableau.
  • B : Indique un type de données octet.
  • @ : Sépare l'identifiant de type et l'ID d'objet.
  • Chiffres hexadécimaux : Un ID d'objet ou un hashcode unique.

Impression efficace du contenu du tableau

Pour afficher le contenu réel d'un tableau d'octets, plutôt que l'ID d'objet, vous peut employer diverses méthodes :

  • Itération explicite et Conversion : 

    byte[] in = {1, 2, 3, -1, -2, -3};
    for (byte b : in) {
    System.out.print(String.valueOf(b)   " ");
    }
  • Conversion de chaîne hexadécimale :

    System.out.println(Base64.getEncoder().encodeToString(in));
  • Chaîne personnalisée Conversion :

    String byteArrayToString(byte[] in) {
    char out[] = new char[in.length * 2];
    for (int i = 0; i >> 4) & 15);
      out[i * 2   1] = "0123456789ABCDEF".charAt(in[i] & 15);
    }
    return new String(out);
    }

Comprendre la nomenclature JNI

La notation "[B\@" fait partie d'un système plus vaste de description des types dans JNI (Java Native Interface). Voici une liste complète :

  • B - byte
  • C - char
  • D - double
  • F - float
  • I - int
  • J - long
  • Lclasse pleinement qualifiée;** - nom de la classe
  • S - court
  • Z - boolean
  • [ - dimension du tableau
  • *(types d'arguments)return-type - signature de méthode

Comprendre cette notation vous permet de naviguer dans le monde complexe de Java représentation des données en toute confiance.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3