[英]Converting ArrayList of bytes to byte[]
我正在尋找將字節的ArrayList轉換為byte [],以便稍后創建具有這些字節的文件。 我已經搜索了如何做到這一點的高低,但仍然無法繞過它。 如何才能做到這一點?
沒有ArrayList<byte>
這樣的東西。 聲明一個時,會得到一個ArrayList<Byte>
。 因此沒有單一的函數習慣用法將其轉換為byte[]
。 你必須分配byte[]
然后寫一個循環來復制值。
或者,你可以使用fastutil庫,它有一個像ArrayList
這樣的容器來存儲byte
,並且可以產生一個數組。
ArrayList<Byte> in = ...;
int n = in.size();
byte[] out = new byte[n];
for (int i = 0; i < n; i++) {
out[i] = in.get(i);
}
我不認為標准庫提供上述任何快捷方式,只要你需要byte[]
而不是Byte[]
。
toArray的功能應該可以工作,但我沒有測試它的可能性。
ArrayList<Byte> listArray = new ArrayList<Byte>();
listArray.add((byte)1);
listArray.add((byte)2);
listArray.add((byte)3);
Byte[] myArray = new Byte[3];
listArray.toArray(myArray);
我不知道拳擊對你來說是不是一個問題,如果你想在寫一個文件時使用它。
如果你有權訪問Guava ,它只是Bytes.toArray(byteList)
。 (披露:我向番石榴捐款。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.