我想知道如何正确引用一个字节数组

我有一些原始数据类型,每个数据类型都有几兆字节

byte[] data1, data2, data3, data4 ... ,data10;

data1 = ..(something 2MB big)
data2 = ..(something 2MB big)
data3 = ..(something 2MB big)
.
.
data10 = ..(something 2MB big)


我想将这10个byte []排列成一个数组(这是我的代码出问题的地方)

private byte[] arrayofdatas[];
arrayofdatas[1] = data1;
arrayofdatas[2] = data2;
.
.
etc.


我已经尝试过了,但是当arrayofdatas [1] = data1行时,我得到了一个空指针异常
请帮助我清理代码,很难找到这个确切的问题。

附言我需要数据类型保持为byte []。请不要将它们转换为字符串。

编辑:我需要变量arrayofdatas是一个字段变量。我遇到了问题,因为我不知道如何将其声明为字段。您所有的答案都将其设置为本地且使用了“新”。另一件事..我已经将'10'设置为我想要的byte []的任意数量。最终,我希望此数组不受限制。有没有一种方法可以在添加更多byte []时添加到数组上,以便将来可以有arrayofdata [500],而不必在开始时声明大小?

最佳答案

private byte[][] arrayofdatas = new byte[10][];


您可以在您的方法中使用它们。

arrayofdatas[0] = data1;
arrayofdatas[1] = data2;
.
.
etc.


请注意,您应将arrayofdatas声明为类的字段。或者,如果要在方法中声明它,则应删除private修饰符。

07-25 23:14
查看更多