如何创建byte[](不是Byte)列表?*
我想要的是这样的:
byte[] deb = new byte[Byte.MIN_VALUE];
List<byte[]> begin = new LinkedList<>();
begin.add(deb);
如何创建byte[](不是Byte)列表?*
我想要的是这样的:
byte[] deb = new byte[Byte.MIN_VALUE];
List<byte[]> begin = new LinkedList<>();
begin.add(deb);
这会很好用,因为数组是Java 中的对象,所以你可以用它们构建Lists。
请注意,只有在 Java 7 中才能执行
List<byte[]> begin = new LinkedList<>();
在旧版本中,您必须重新声明byte[]:
List<byte[]> begin = new LinkedList<byte[]>();
这已经提出,但我将在这里重申。Byte.MIN_VALUE小于0;您不能创建长度小于的数组0(它会导致运行时错误,特别是 a NegativeArraySizeException)。你的意思是Byte.MAX_VALUE?
问题在下面一行
byte[] deb = new byte[Byte.MIN_VALUE]; <---Byte.MIN_VALUE -127
你应该用正值声明你的数组,否则你会得到NegativeArraySizeException。
byte[] deb = new byte[Some positive value];
Byte.MIN_VALUE是-127。您不能在 java 中创建负索引数组。
java中的数组是对象。byte[] 是一个保存字节值的数组。集合接受对象,因此 List 是一个包含 byte[] 的集合。您的代码应该可以正常工作。
这应该可以正常工作:
List<byte[]> begin = new LinkedList<byte[]>();
首先,Byte.MIN_VALUE是-128。如果你尝试创建一个负长度的数组,你会得到一个错误。
其次,正如其他答案中提到的,创建列表的代码应该是
List<byte[]> begin = new LinkedList<byte[]>();