「[B@」の謎に対処する: Java バイト配列表記法を理解する
バイトを出力するときに発生する独特の「[B@」表現Java の配列は開発者をしばしば困惑させてきました。それは何を意味しますか?またその意味をどのように解読できますか?
象徴性の解読
表記「[B@」はバイト配列の内容の 16 進数表現ではありませんむしろオブジェクト記述子です。各コンポーネントは特定の側面を表します。
配列の内容を効果的に出力する
オブジェクト ID ではなく、バイト配列の実際の内容を表示するには、さまざまなメソッドを使用できます。
明示的な反復と変換:
<code class="java">byte[] in = {1, 2, 3, -1, -2, -3}; for (byte b : in) { System.out.print(String.valueOf(b) + " "); }</code>
16 進文字列変換:
<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>
JNI 命名法を理解する
「[B@」表記これは、JNI (Java Native Interface) で型を記述するためのより大きなシステムの一部です。完全なリストは次のとおりです:
この表記法を理解すると、Java データ表現の複雑な世界を自信を持ってナビゲートできるようになります。
以上が\'[B\\@\' エニグマ: Java バイト配列表記法を理解する) とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。