当我尝试从模块中输出字符串时
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。
答案 0 :(得分:3)
您的NPE来自尝试在空引用上调用getModuleName
。
System.out.println((moduleArray[i]!=null)?moduleArray[i].getModuleName():"null");
至于为什么在你有有效元素时没有打印出来,我想你可能没有在其他地方正确设置名称。
答案 1 :(得分:1)
使用moduleArray[i].getModuleName()
if(moduleArray[i].getModuleName() != null) {then print it}
是否为空