0

バイトの配列リストがあり、それらをバイト配列に変換しています。次のメソッドを使用しましたが、次のエラーが表示されます: E/AndroidRuntime(5228): java.lang.NoClassDefFoundError: com.google.common.プリミティブ.バイト

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);                
 }
4

3 に答える 3

2

Google Guava がクラスパスにないように見えます。また、上記のコードから for ループを削除する必要があります。これは Guava 関数が行うことです。

ArrayList<Byte> byteArrayList_song = new ArrayList<Byte>();
byte[] bytes_song_byte = Bytes.toArray(byteArrayList_song);
于 2013-01-14T07:37:47.253 に答える
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 をスローすることに注意してください。

于 2013-01-14T07:48:09.993 に答える
-1

以下を試してください

      ArrayList<Byte> byteArrayList_song=new ArrayList<Byte>();
        byte[] bytes_song_byte;
        bytes_song_byte=byteArrayList_song.toArray(new Byte[byteArrayList_song.size()]);                
于 2013-01-14T07:39:04.690 に答える