我有一个包含18个对象的数组,并且数组被分配为包含25个对象(其余7个对象为null以供将来使用)。我正在编写一个打印出所有非空对象的程序,但是我正在运行NullPointerException
而我无法弄清楚如何绕过它。
当我尝试此操作时,程序会崩溃Exception in thread "main" java.lang.NullPointerException
:
for(int x = 0; x < inArray.length; x++)
{
if(inArray[x].getFirstName() != null)//Here we make sure a specific value is not null
{
writer.write(inArray[x].toString());
writer.newLine();
}
}
当我尝试这个时,程序会运行,但仍会打印空值:
for(int x = 0; x < inArray.length; x++)
{
if(inArray[x] != null)//Here we make sure the whole object is not null
{
writer.write(inArray[x].toString());
writer.newLine();
}
}
有人能指出我正确的方向来处理数组中的空对象吗?感谢所有帮助!
答案 0 :(得分:9)
你的支票应该是:
if(inArray[x] != null && inArray[x].getFirstName() != null)