我在代码中打印了一个字节数组图像。 我试图通过打印来调试它,但这是我在控制台中看到的输出 -
03-02 13:49:03.764 25818-25848 / com.example.listviewandroid I / System.out:[B @ 41484350te repub size:0
这是什么意思?是在这里得到字节数组还是什么?
public void getImage(byte[] data) {
try
{
imagedata = data;
System.out.print(data);
// imgTakenPhoto.removeAllViews();
Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length);
imgTakenPhoto.setImageBitmap(bmp);
imgTakenPhoto.setVisibility(ImageView.VISIBLE);
frameLayout.setVisibility(View.GONE);
}
catch (Exception e)
{}
}
我试图找出“数据”中的内容
答案 0 :(得分:1)
在此您将REFERENCE从数据复制到您的字节数组到imagedata:imagedata = data;
使用这个:System.out.print(data);
将使用toString()方法,其中包含 - 如果不覆盖 - 实例类及其引用(其地址到内存)
你想要这个:System.out.print(Arrays.toString(data))
同样重要的是,当我谈到在imagedata = data
中复制引用时,意味着两个变量都指向同一个数组。如果您执行data[5] = 4
之类的操作,则变量imagedata[4]
将包含4