有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么我的数组会出现NullPointerException?

我不明白为什么会出现NullPointerException。我错过了什么

public class CustomJourneyUserInformation {
    public IJourneyDetails journeyDetails;
    public IUserDetails userDetails;
    public ISubscribeJourney subscribedToJourneys;
}

iJourneDetails、IUserDetails、ISubscribeJourney都是接口

在另一个活动中,我正在打电话

private CustomJourneyUserInformation[] allJourneyDetails;
    allJourneyDetails = new CustomJourneyUserInformation[subscribedToJourneys.length];
    if (providerDetails[i] != null)
>>> allJourneyDetails[i].journeyDetails = providerDetails[i];
    if (userDetails[i] != null)
    allJourneyDetails[i].userDetails = userDetails[i];
    if (subscribedToJourneys[i] != null)
        allJourneyDetails[i].subscribedToJourneys = subscribedToJourneys[i];

我在标记为>;的行中遇到空指针异常&燃气轮机&燃气轮机&燃气轮机

我确信allJourneyDetails[i]在这里是空的


共 (2) 个答案

  1. # 1 楼答案

    allJourneyDetails = new CustomJourneyUserInformation[subscribedToJourneys.length];
    

    应该是

    allJourneyDetails = new CustomJourneyUserInformation[providerDetails.length];
    

    也是;但是@LouisWasserman是对的

  2. # 2 楼答案

    看起来allJourneyDetails[i]是空的,因为在初始化之后数组仍然填充着null

    您是否希望创建数组以使用非空值填充数组?这不是Java中的工作方式