Решение загадки "[B\@": понимание нотации байтовых массивов в Java
Свойственное представление "[B\@" встречается, когда Печать байтовых массивов в Java часто озадачивала разработчиков. Что оно означает и как мы можем расшифровать его значение?
Расшифровка символизма
Обозначение «[B@» не является шестнадцатеричным представлением содержимого байтового массива а скорее дескриптор объекта. Каждый компонент представляет определенный аспект:
Эффективная печать содержимого массива
Чтобы отобразить фактическое содержимое байтового массива, а не идентификатор объекта, вы можете использовать различные методы:
Явная итерация и преобразование:
byte[] in = {1, 2, 3, -1, -2, -3};
for (byte b : in) {
System.out.print(String.valueOf(b) " ");
}
Преобразование шестнадцатеричных строк:
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