簡體   English   中英

byte []和List之間有什么區別 <Byte> 在Java?

[英]What is the difference between byte[] and List<Byte> in Java?

兩者都可用於創建字節列表。 但它們之間有什么區別?

byte[] buffer;
List<Byte> buffer;

兩者都可用於創建字節數組

不,第一個創建一個字節數組。 第二個定義了一個字節列表 ,根據您使用的List實現,它可能由數組支持也可能不支持。

數組是固定大小並預先分配的; 如果需要增長數組,則需要創建一個新的更大的數組,復制內容,然后添加新內容。

另一方面,列表通常是動態的,隨着向它們添加內容而增長,隨着從它們中移除內容而縮小等等。一個列表實現ArrayList通過維護后備陣列來實現這一點,通常會有一些松弛,然后在添加時根據需要進行重新分配和復制。

另請注意, List實際上不能包含原始byte值; 相反,它將包含Byte對象(通過一個稱為autoboxing的進程)。

byte[] buffer是premetive byte的premitive數組,沒有任何方法可以在Byte[]
List<Byte> buffer是Byte對象的List對象,它也有在Byte中定義的方法

  • byte[]數組具有固定大小,而列表則沒有。
  • byte[]數組包含原始 byte值,而列表包含盒裝值,因此列表將需要更多內存

更多信息:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM