Heim >Java >javaLernprogramm >Was bedeutet „[B@1ef9157' beim Drucken von Byte-Arrays in Java?
Entschlüsselung der Bedeutung hinter „[B@1ef9157“ in Java
Bei der Arbeit mit Java stoßen Entwickler möglicherweise auf seltsame Präfixe wie „[ B@1ef9157“ beim Versuch, Byte-Arrays zu drucken. Obwohl diese Zeichenfolgen kryptisch erscheinen mögen, enthalten sie wichtige Informationen über die Struktur und den Inhalt des Arrays.
Zusammensetzung des Präfixes
Das Präfix „[B@1ef9157“ kann sein ist in die folgenden Komponenten unterteilt:
Interpretation des Präfixes
Das Präfix allein verrät nicht den Inhalt des Byte-Arrays. Es bedeutet lediglich, dass das Objekt ein Byte-Array ist und stellt seine eindeutige Kennung bereit. Die im Array gespeicherten tatsächlichen Werte werden in diesem Format nicht angezeigt.
Den Array-Inhalt drucken
Um den tatsächlichen Inhalt des Byte-Arrays anzuzeigen, stehen verschiedene Methoden zur Verfügung . Eine Technik besteht darin, die Bytewerte in hexadezimale Zeichen umzuwandeln:
<code class="java">byte[] in = new byte[] { 1, 2, 3, -1, -2, -3 }; System.out.println(byteArrayToString(in)); String byteArrayToString(byte[] in) { char out[] = new char[in.length * 2]; for (int i = 0; i < in.length; i++) { out[i * 2] = "0123456789ABCDEF".charAt((in[i] >>> 4) & 15); out[i * 2 + 1] = "0123456789ABCDEF".charAt(in[i] & 15); } return new String(out); }</code>
Zusätzliche Informationen
Eine umfassende Liste der in Java verwendeten Typnomenklaturen finden Sie in der JNI-Dokumentation . Die folgende Tabelle fasst die gängigen Typen zusammen:
Type | Representation | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Byte | B | ||||||||||||||||||||||||
Zeichen | C | ||||||||||||||||||||||||
Double | D | ||||||||||||||||||||||||
Float | F | ||||||||||||||||||||||||
Ganzzahl | I | ||||||||||||||||||||||||
Lang | J | ||||||||||||||||||||||||
Klasse | L *fully-qualified-class*;; | ||||||||||||||||||||||||
Short | S | ||||||||||||||||||||||||
Boolean | Z | ||||||||||||||||||||||||
Array | [ | ||||||||||||||||||||||||
Methode Signatur | (
|
Das obige ist der detaillierte Inhalt vonWas bedeutet „[B@1ef9157' beim Drucken von Byte-Arrays in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!