两种方法都可以用来创建字节列表。但它们之间有什么区别?
byte[] buffer;
List<Byte> buffer;
List
实现。ArrayList
通过维护一个支持数组,通常有些松散,然后在添加时根据需要进行重新分配和复制来实现这一点。List
实际上不能包含原始的byte
值; 相反,它将包含Byte
对象(通过称为自动装箱的过程)。byte[]
;2)遍历列表;3)对于列表中的每个 Byte
,将其基本值插入数组中。 - afsantosList
接口上有一个诱人的 List#toArray(T[] a)
方法。我从未使用它将 List<Byte>
自动解包为 byte[]
,不知道是否会自动执行。 - T.J. CrowderByte[]
,但不能得到byte[]
)。所以正如afsantos所说,你必须用循环来实现。 - T.J. Crowderbyte[] buffer
是一个原始的 byte
数组,没有任何可以在 Byte
或 []
上进行的方法。
List<Byte> buffer
是一个 Byte 对象的 List 对象,它也有在 Byte
中定义的方法。
List<Byte>
不是一个字节数组。 - JesperList<Byte>
是一个List
而不是一个数组。byte
是一个原始类型,Byte
是它的包装类,就像int
和Integer
一样。 - Héctor