我有一个Bytes的arraylist,我正在将它们转换为字节数组。我使用了以下方法。但是它给了我以下错误: E / AndroidRuntime(5228):java.lang.NoClassDefFoundError:com.google.common.primitives.Bytes
ArrayList<Byte> byteArrayList_song=new ArrayList<Byte>();
byte[] bytes_song_byte;
for(int i=0;i<int_arraylist.size();i++)
{
bytes_song_byte=Bytes.toArray(byteArrayList_song);
}
答案 0 :(得分:2)
看起来Google Guava不在您的类路径上,您也应该从上面的代码中删除for循环,因为这是Guava函数为您所做的。
ArrayList<Byte> byteArrayList_song = new ArrayList<Byte>();
byte[] bytes_song_byte = Bytes.toArray(byteArrayList_song);
答案 1 :(得分:1)
您可以在没有外部库的情况下进行此转换
byte[] bytes_song_byte = new byte[byteArrayList_song.size()];
for (int i = 0; i < byteArrayList_song.size(); i++) {
bytes_song_byte[i] = byteArrayList_song.get(i);
}
请注意,如果byteArrayList_song有任何null
元素,则此代码将抛出NullPointerException
答案 2 :(得分:-1)
尝试以下
ArrayList<Byte> byteArrayList_song=new ArrayList<Byte>();
byte[] bytes_song_byte;
bytes_song_byte=byteArrayList_song.toArray(new Byte[byteArrayList_song.size()]);