当我尝试从模块输出字符串时
public class Module
{
public String moduleName;
//public String moduleResults;
public void setModuleName(String aModuleName)
{
moduleName = aModuleName;
}
public String getModuleName()
{
return moduleName;
}
}
使用
public void displayModules()
{
for (int i = 0; i < moduleArray.length; i++)
{
System.out.println(moduleArray[i].getModuleName());
}
}
当数组(长度为 4)未满时,我得到一个 NPE;当数组已满时,我使用该方法时不会输出任何内容。如果有什么不同的话,我正在使用 blueJ。
最佳答案
您的 NPE 来自尝试对空引用调用 getModuleName
。
System.out.println((moduleArray[i]!=null)?moduleArray[i].getModuleName():"null");
至于为什么当您确实有有效元素时没有打印任何内容,我想您可能在其他地方没有正确设置名称。
关于java - 将对象数组输出为字符串时如何处理 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8491758/