解決「[B@」之謎:理解Java 位元組陣列表示法
列印位元組時遇到的奇特「[ B@”表示法Java 中的陣列經常讓開發人員感到困惑。它意味著什麼,我們如何解讀它的意義?
解碼符號
符號「[B@」不是位元組數組內容的十六進位表示而是一個物件描述符。每個元件代表一個特定的面向:
有效列印陣列內容
要顯示位元組陣列的實際內容,而不是物件ID,您可以使用各種方法:
明確迭代與轉換:
<code class="java">byte[] in = {1, 2, 3, -1, -2, -3}; for (byte b : in) { System.out.print(String.valueOf(b) + " "); }</code>
十六進位字串轉換:
<code class="java">System.out.println(Base64.getEncoder().encodeToString(in));</code>
<code class="java">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>
以上是什麼是「[B\\@」之謎:理解 Java 位元組數組表示法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!