Java 将数据插入到二维字节[]数组中
我是Java新手,尝试使用二维字节[]类型。我已经创建了一个2DJava 将数据插入到二维字节[]数组中,java,arrays,multithreading,Java,Arrays,Multithreading,我是Java新手,尝试使用二维字节[]类型。我已经创建了一个2Dbyte[]数组,如下所示。但是,每当我尝试向它插入一些数据时,它都会给出一个错误提示:NullPointerException byte[][][] Requisition = new byte[10][][]; byte[] someinput = ("example").getBytes(); Requisition[0][0]=someinput; System.out.println("Pr
byte[]
数组,如下所示。但是,每当我尝试向它插入一些数据时,它都会给出一个错误提示:NullPointerException
byte[][][] Requisition = new byte[10][][];
byte[] someinput = ("example").getBytes();
Requisition[0][0]=someinput;
System.out.println("Printing:" + Requisition[0][0].toString());
etc..
我插入到这个2D数组中的数据类型是类型byte[]
。因为我插入的是加密数据,所以这些数据的格式将是字节[],而不是字节
我想要请求
数组为一行保存两个输入。比如说
Requisition[0][1]=someinput1;
Requisition[0][2]=someinput2;
我要插入的someinput1
不是类型byte
。我插入的数据将是字节[]
类型
我的意思是byte[]是(使用平台默认字符集的字节序列,将结果存储到新的字节数组中。)当您执行
arr[n][m]
时,您访问的是任何类型的元素arr
。在您的情况下,这是一个字节
。如果要将阵列指定给二维阵列,只需执行以下操作:
Requisition[0] = someinput;
而且
byte[][] Requisition = new byte[10][];
byte[] someinput = ("example").getBytes();
Requisition[0]=someinput;//These insertion will happens in a loop later
用…测试
for (byte b : Requisition[0])
System.out.println(b);
当然,这个答案是基于这样一个事实,即你实际上并没有处理2D数组,你有一个3D数组,这可能是错误地将数组插入单个元素的结果。如果没有,请将此逻辑应用于任何n维数组。否,您没有创建二维数组。您创建了一个三维数组!-><代码>字节[1][2][3] 如果要创建二维数组,则需要声明表的列和单元格。这只是两个值,而不是像你那样的三个值。为了清晰起见,请看以下图片: 可以这样声明和填充二维数组:
int rows = 10;
int cols = 10;
int[][] twoDimension = new int[rows][cols];
for (int i = 0; i < twoDimension.length; i++) {
for (int j = 0; j < twoDimension[i].length; j++) {
twoDimension[i][j] = // Value you want to fill!
}
}
应该是:
byte[][][] someinput = new byte[5][5][5];
然后可以将数据插入到该数组中 试着这样做:字节[][]请求=新字节[2][some int];字节[][]请求=新字节[2][];不是二维阵列,而是三维阵列
byte[][][] someinput = new byte[5][5][5];