"[B\@" 수수께끼 해결: Java 바이트 배열 표기법 이해
다음과 같은 경우에 발생하는 독특한 "[B\@" 표현 Java에서 바이트 배열을 인쇄하는 것은 종종 개발자를 당황하게 합니다. 이는 무엇을 의미하며, 그 의미를 어떻게 해독할 수 있습니까?
기호 해독
"[B@" 표기법은 바이트 배열 내용의 16진수 표현이 아닙니다. 오히려 객체 설명자입니다. 각 구성 요소는 특정 측면을 나타냅니다.
배열 내용을 효과적으로 인쇄
To 객체 ID가 아닌 바이트 배열의 실제 내용을 표시하려면 다양한 방법을 사용할 수 있습니다. 방법:
명시적 반복 및 변환:
byte[] in = {1, 2, 3, -1, -2, -3};
for (byte b : in) {
System.out.print(String.valueOf(b) " ");
}
16진수 문자열 변환:
System.out.println(Base64.getEncoder().encodeToString(in));
사용자 정의 문자열 변환:
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);
}
JNI 명명법 이해
"[B\@" 표기법은 JNI(Java Native)에서 유형을 설명하기 위한 더 큰 시스템의 일부입니다. 인터페이스). 전체 목록은 다음과 같습니다.
이 표기법을 이해하면 Java의 복잡한 세계를 탐색할 수 있습니다. 자신 있게 데이터를 표현합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3