2016-09-24 67 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 
相關問題