有 Java 编程相关的问题?

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

nullpointerexception java null point异常,apache poi,java

我在这段代码中有一个问题:

public static void add(MonthRequirementInformation[] list,AdditiveInformation[] list1) throws IOException{

**for(int i=0;i<list.length;i++){**

            for(int j=0;j<PGENcode.length;j++){

                if(list[i].getPGEN()==PGENcode[i]){

                    **for(int k=0;k<list1.length;k++){**

                        if(list1[k].getComponentCode()==AdditiveCode[j]){

                            list1[k].change_xMonthReq(list[i].getMonthx()*AdditiveAmount[j]);
                            list1[k].change_yMonthReq(list[i].getMonthy()*AdditiveAmount[j]);
                            list1[k].change_zMonthReq(list[i].getMonthz()*AdditiveAmount[j]);
                        }
                    }
                }
            }
        }

    }

在这个函数中还有很多其他的东西,但是我将把它省略掉,因为它真的不重要

这是我的主要观点:

public static void main(String[] agrv) throws IOException{

        MonthRequirementInformation[] list=null;
        AdditiveInformation[] list1=null;

        Workbook inputWb=readWorkbook();

        Sheet RequimentWs=inputWb.getSheet("PGEN List");    
        int r=RequimentWs.getLastRowNum()+1;
        fillMonthReqObj(RequimentWs,r,list);

        Sheet AdditveWs=inputWb.getSheet("Additive List");
        int r1=AdditveWs.getLastRowNum()+1;
        fillAddInfoObj(AdditveWs,r1,list1);

        add(list,list1);
        finalOutput(list1);


    }

要解释这个问题: 我在函数add的开始行中遇到了一个java空点异常,我不知道为什么会发生这种情况。 有人能找出为什么会发生这种情况吗


共 (1) 个答案

  1. # 1 楼答案

    你什么时候实例化这些

    MonthRequirementInformation[] list=null;
    AdditiveInformation[] list1=null;
    

    你永远不会创建数组,所以当你在对象上调用length时,它抛出一个NPE

    注意:A NullPointerException是我在这里看到的最常见的例外之一。以后,尝试观察异常发生的位置、抛出异常的对象,以及该对象是否已声明。这有助于排除明显的情况,这就是现在发生的情况