2016-09-24 68 views
6

我试图让/转换成字节数组列表中的数值低于[] 是我的代码转换ArrayList的<Object>值[]

final ArrayList<Object> imglists = new ArrayList<Object>(); 

这是此ArrayList米存储我的对象的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); 
} 

我试图让从ArrayList中的特定值,并将其存储在一个字节[] 这就是我试图做

byte[] value=imglists.get(2); 

我找不到任何一个完整的答案ArrayList的对象转换成字节[] 我知道ArrayList中不支持原始数据类型(即字节)

+0

你想byte []的ArrayLIst? –

+0

为什么不定义ArrayList 而不是ArrayList Loc

+0

java对象是可序列化的。您可以将对象转换为字符串,然后将其转换为字节[]。 – AmmY

回答

4

你所寻找的是byte[]List,类似的东西:

List<byte[]> imglists = new ArrayList<>(); 

然后你可以使用作为未来的add(E)方法简单地添加你byte array到您的List

imglists.add(bs.toByteArray()); 

然后,您就可以使用该方法get(int)当你试图实现在List其索引访问给定byte array

// Get the 3th element of my list 
byte[] value = imglists.get(2); 
+0

让我试试这个 –

+0

感谢兄弟这就是我一直在寻找的感谢 –

0

要转换的ArrayList为byte []?或对象到字节[]?

我用这种方式写的,只是简单地将ArrayList中的元素转换为byte [],它的工作原理!

List<Object> objects = new ArrayList<Object>(); 

    objects.add("HelloWorld".getBytes()); 

    byte[] bytes = (byte[]) objects.get(0); 

    System.out.println(new String(bytes)); // HelloWorld 
相关问题