数组排除空值并返回非空的所有内容

时间:2013-03-05 04:54:00

标签: java arrays null

我有一个基于命令行的程序,当它们输入命令“echo”时,缓冲区将echo之后的单词写入名为“talkfile”的文件(此代码被省略)。

我选择了限制为100个单词。但是,用户可以随意写任何内容。 talkfile.write应该在数组中写入所有非空值。当我运行它时,我得到一个空指针错误。我该如何解决这个问题?

String[] inputSplit =  input.split(" ");
switch (inputSplit[0]) {  
case "echo" :
    for (int i = 0; i < inputSplit.length; i++)
    { 
        if (inputSplit[i] == null)
        talkfile.write(inputSplit[1-100]);
        }

     sysOut(talkfile.read());

break;
}

2 个答案:

答案 0 :(得分:0)

我想你打算写:

for (int i = 1; i < inputSplit.length; i++)
{ 
     if (inputSplit[i] != null)
        talkfile.write(inputSplit[i]);
}

答案 1 :(得分:-1)

if (inputSplit[i] != null)
        talkfile.write(inputSplit[1-100]);

您使用== null检查。将其更改为!= null。