"[B@1ef9157": 바이너리 또는 주소? 이해
Java에서 바이트 배열로 작업할 때 "[ 바이트 배열을 인쇄할 때 B@ 접두사"를 사용합니다. 임의의 문자열이 아닌 배열의 실제 내용을 볼 것으로 예상할 수 있으므로 혼란스러울 수 있습니다.
설명
"[B@ 접두사"는 바이트 배열의 내용을 나타내는 것이 아닙니다. 배열의 개체 ID입니다. 이 ID는 메모리의 배열을 식별합니다.
객체 ID의 구조
객체 ID는 다음으로 구성됩니다.
바이트 배열 내용 인쇄
목표는 바이트 배열의 실제 값을 인쇄하는 것이므로 바이트를 인쇄 가능한 형식으로 구체적으로 변환하는 방법을 사용해야 합니다. 예를 들어 byteArrayToString() 메서드를 사용할 수 있습니다.
<code class="java">byte[] in = new byte[] { 1, 2, 3, -1, -2, -3 }; System.out.println(byteArrayToString(in));</code>
byteArrayToString() 메서드는 바이트 배열을 16진수 문자의 문자열로 변환하여 읽기 쉽게 만듭니다.
JNI 유형 명명법
"[B@ 접두사"는 JNI(Java Native Interface) 유형 명명법의 일부입니다. 이 명명법은 네이티브 코드에서 Java 유형을 식별하는 데 사용됩니다.
JNI 유형 명명법에 대한 자세한 내용은 다음을 참조하세요. 공식 JNI 문서.
위 내용은 내 Java 바이트 배열이 내용 대신 \"[B@1ef9157\"로 인쇄되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!