二维 java 数组
Two dimension java array
我是 java 的超级新手,我想了解以下代码。
public Something() throws Exception
{
byte[][] value=new byte[2][0];
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128);
SecretKey skey = kgen.generateKey();
value[0]=skey.getEncoded();
skey = kgen.generateKey();
value[1]=skey.getEncoded();
value[0][0]=0x12;value[0][1]=0x33;value[0][2]=0x21;
value[1][0]=0x12;value[1][1]=0x33;value[1][2]=0x21;
}
1)是否可以像第 3 行那样创建一个包含 0 列的字节数组?
2)最后创建了多少列和行,里面的值是多少?
3)最后两行代码将十六进制值分配给这些特定的列和行?
提前致谢
1)Is it possible to create a byte array with 0 columns like that on line 3?
是的。
2)At the end how many columns and rows are created and what is the value inside them?
起初,数组将包含 2 * 0 = 0 个字节。
然后,在声明数组后不久,您有这些行:
SecretKey skey = kgen.generateKey();
value[0]=skey.getEncoded();
这会将具有 0 列的第一行替换为具有 16 列(根据 AES 密钥规范为 128 位)的行。
一旦你对两者都这样做,就好像你已经声明了一个 byte[2][16]
。
3)The last two lines of code assign hex values to these specific columns and rows?
他们为现在的 2*16 字节数组中的一些字节设置了十六进制值,是的。其他字节将是高度随机的。
我是 java 的超级新手,我想了解以下代码。
public Something() throws Exception
{
byte[][] value=new byte[2][0];
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128);
SecretKey skey = kgen.generateKey();
value[0]=skey.getEncoded();
skey = kgen.generateKey();
value[1]=skey.getEncoded();
value[0][0]=0x12;value[0][1]=0x33;value[0][2]=0x21;
value[1][0]=0x12;value[1][1]=0x33;value[1][2]=0x21;
}
1)是否可以像第 3 行那样创建一个包含 0 列的字节数组?
2)最后创建了多少列和行,里面的值是多少?
3)最后两行代码将十六进制值分配给这些特定的列和行?
提前致谢
1)Is it possible to create a byte array with 0 columns like that on line 3?
是的。
2)At the end how many columns and rows are created and what is the value inside them?
起初,数组将包含 2 * 0 = 0 个字节。
然后,在声明数组后不久,您有这些行:
SecretKey skey = kgen.generateKey();
value[0]=skey.getEncoded();
这会将具有 0 列的第一行替换为具有 16 列(根据 AES 密钥规范为 128 位)的行。
一旦你对两者都这样做,就好像你已经声明了一个 byte[2][16]
。
3)The last two lines of code assign hex values to these specific columns and rows?
他们为现在的 2*16 字节数组中的一些字节设置了十六进制值,是的。其他字节将是高度随机的。