String []取空值

时间:2015-04-17 16:32:09

标签: java arrays

我有一个需要加密的文本文件。整个文本被分解为6个字符的chucks。从我拍摄的文字中,分成6个字符的块后,我得到45个组,每组6个字符。

我一次只带一个小组并执行加密过程。

   for (int i = 0; i < group; i++) {
        s[i] = input.substring(j, j + block_size);
        ASCIIMatrx asc = new ASCIIMatrx();
        asc.text(s, k1, a1, b1, n);
        j += block_size;
    }

对于第一次迭代,它采用前六个字符,但对于其余的,它采用空值。我不知道我错过了哪里。

ASCIIMatrx是一种方法,我将子字符串与加密所需的密钥一起传递给它。

1 个答案:

答案 0 :(得分:1)

对于参考,默认值为null。我认为你在阵列中分配的元素多于实际需要的元素,它将填充null个值。请参阅JLS

  

对于所有引用类型(§4.3),默认值为null

不要使用固定大小的数组,而是使用ArrayList代替:

ArrayList<MyType> arr = new ArrayList<>();
...
arr.add(myType);

请注意,自Java 7以来,钻石运算符可用,如果您使用的是旧版本,则应该ArrayList<MyType> arr = new ArrayList<MyType>();