java - 将对象数组输出为字符串时如何处理 NullPointerException?

标签 java

当我尝试从模块输出字符串时

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/

相关文章:

java - 如何在java中查找特定模式的字符串值?

java - 为什么我的 JmenuBar 不显示

java - 如何保存已选中的 ListView 项目

Java 枚举和附加类文件

java - 提取查询参数的正则表达式因日期时间字符串而失败

java - Docker 中的 Postgres 服务器无法连接到 Spring Boot 应用程序

java - 如何在 TSPM 中禁用自定义 PIP 的缓存?

java - 蓝牙未连接到 4.4.2

java - 将模型传递给包含的 JSP?

java - 如何在 Swing 应用程序中使用 Java 获取 macOS Mojave 风格的黑暗模式?