Base64解码困住

时间:2011-12-18 14:36:30

标签: java android

我需要将base64值转换为字符串数组,所以我只写了这个:

String s[] = new String[partyname.length];
        for(int i=0;i<=partyname.length;i++)
        {
        byte[] bytes = Base64.decode(partyname[i], Base64.DEFAULT);
                String string = new String(bytes, "UTF-8");
                s[i] = string;
                System.out.println("string is ::" + string+s[i]);


        }

但我不知道为什么它会在s[i] = string;行引发空指针错误,如果我删除它然后工作正常所以请帮助我。

3 个答案:

答案 0 :(得分:6)

因为s为空。

您可能希望将此作为第一行:

String[] s = new String[partyname.length];

答案 1 :(得分:1)

您需要先创建引用的String数组。

String[] s = null;

所以当你尝试使用诸如

之类的
s[i] = string;

然后 s 仍然为空,并且尝试获取 s i 元素会给你空指针。

从剩下的代码中我想你想要一个与派对名称具有相同元素数量的String数组,所以你需要

String[] s = new String[partyname.length];

答案 2 :(得分:1)

如上所述,s为空,我想补充另一个考虑因素:
for循环应该是:for(int i=0;i<partyname.length;i++)而不是for(int i=0;i<=partyname.length;i++)