创建byte []列表

时间:2012-10-29 14:02:12

标签: java

如何创建byte[](不是Byte)的列表?*

我想要的是:

byte[] deb = new byte[Byte.MIN_VALUE];
List<byte[]> begin = new LinkedList<>();
begin.add(deb);

5 个答案:

答案 0 :(得分:8)

这样可以正常使用,因为Java中的数组是对象,因此您可以构建List


请注意,只能在Java 7中执行

List<byte[]> begin = new LinkedList<>();

在旧版本中,您必须重新使用byte[]

List<byte[]> begin = new LinkedList<byte[]>();

这已经提出了,但我在这里重申一下。 Byte.MIN_VALUE小于0;你不能创建一个长度小于0的数组(它会导致运行时错误,特别是NegativeArraySizeException)。您的意思是Byte.MAX_VALUE吗?

答案 1 :(得分:0)

问题出在以下行

 byte[] deb = new byte[Byte.MIN_VALUE]; <---Byte.MIN_VALUE -127 

你应该用正值声明你的数组否则你会得到 NegativeArraySizeException

byte[] deb = new byte[Some positive value];

Byte.MIN_VALUE-127。您无法在java中创建负索引数组。

答案 2 :(得分:0)

java中的数组是对象。 byte []是一个保存字节值的数组。集合接受对象,因此List是一个包含byte []的集合。 你的代码应该没有任何问题。

答案 3 :(得分:0)

这应该可以正常工作:

List<byte[]> begin = new LinkedList<byte[]>();

答案 4 :(得分:0)

首先,Byte.MIN_VALUE-128。如果您尝试创建负长度的数组,则会出现错误。

其次,如其他答案所述,创建List的代码应为

List<byte[]> begin = new LinkedList<byte[]>();