繁体   English   中英

二维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)是否可以创建一个0列的字节数组,如第3行?

2)最后创建了多少列和行,它们内部的值是多少?

3)最后两行代码为这些特定的列和行分配十六进制值?

先感谢您

1)是否可以创建一个0列的字节数组,如第3行?

是。

2)最后创建了多少列和行,它们内部的值是多少?

首先,该数组将包含2 * 0 = 0字节。

然后,在声明阵列后不久,您将拥有以下行:

SecretKey skey = kgen.generateKey();
value[0]=skey.getEncoded();

这将替换第一行(具有0列),其中一行具有16列(根据AES密钥规范,为128位)。

一旦你对两者都这样做,就好像你已经声明了一个byte[2][16]

3)最后两行代码为这些特定的列和行分配十六进制值?

它们为现在的2 * 16字节数组中的某些字节设置十六进制值,是的。 其他字节将是强随机的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM