[英]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
中定義的方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.