将Arraylist <Object>值转换为byte []

hat*_*rar 5 java android arraylist

我想在下面的byte []中获取/转换Arraylist的值是我的代码

final ArrayList<Object> imglists = new ArrayList<Object>();
Run Code Online (Sandbox Code Playgroud)

这是我在这个arraylist m中的对象的arraylist,以字节的形式存储图像的值

for (int i=0; i<mPlaylistVideos.size();i++) {
    holder.mThumbnailImage.buildDrawingCache();
    Bitmap bitmap= holder.mThumbnailImage.getDrawingCache();
    ByteArrayOutputStream bs = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.JPEG, 50, bs);
    byte[] rough = bs.toByteArray();
    imglists.add(i,rough);
}
Run Code Online (Sandbox Code Playgroud)

我试图从arraylist获取特定值并将其存储在byte []中这就是我想要做的事情

byte[] value=imglists.get(2);
Run Code Online (Sandbox Code Playgroud)

我找不到将Object的Arraylist转换为byte []的完整答案我知道Arraylist不支持原始数据类型(即byte)

Nic*_*tto 4

您正在寻找的是 a Listof byte[],类似的东西:

List<byte[]> imglists = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

然后你可以简单地使用下面的方法将你的添加byte array到你的中:Listadd(E)

imglists.add(bs.toByteArray());
Run Code Online (Sandbox Code Playgroud)

然后,您将能够在尝试实现时使用该方法byte array从其索引访问给定值:Listget(int)

// Get the 3th element of my list
byte[] value = imglists.get(2);
Run Code Online (Sandbox Code Playgroud)