解码打印的bytearray的问题

时间:2014-03-02 23:53:58

标签: java

我在代码中打印了一个字节数组图像。 我试图通过打印来调试它,但这是我在控制台中看到的输出 -

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)
        {}

    }

我试图找出“数据”中的内容

1 个答案:

答案 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