2015-07-03 1 views
0

я есть входной поток, и, когда я отобразить значение этого потока, я получаю следующий выход [B @ 44952d40Что это за значение: [B @ 44952d40?

Какой это значение?

byte[] buffer = new byte[128]; // buffer store for the stream 
int bytes; // bytes returned from read() 
bytes = mmInStream.read(buffer); 

ответ

0

Я предполагаю, что вы отобразить значение переменного буфера следующим образом:

System.out.println(buffer); 

Поскольку буфер представляет собой массив, и это не отменяет toString() метода, он отображает некоторые странные строки, которая является на самом деле расположение памяти вашего массива. Вы получите тот же результат, если попытаетесь напечатать на консоли объект, который наследует метод toString() от Object. Чтобы отобразить реальное содержимое вашего массива, вам нужно либо перебрать его, либо использовать Arrays.toString(buffer)