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 :
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 :
Comprendre cette notation vous permet de naviguer dans le monde complexe de Java représentation des données en toute confiance.
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