当离开for循环时,List <string>的值变为null

时间:2015-12-14 19:41:46

标签: java arraylist

我正在编写以下函数,使用 Apache poi Excel 获取数据

public static List<List<String>> getXMLData(String RowName,String SheetName ) throws Exception{                   
    List<List<String>> dataToWrite = new  ArrayList<List<String>>();
    try{    
        ExcelWSheet = ExcelWBook.getSheet(SheetName);
        int itotalRow=ExcelWSheet.getLastRowNum();
        System.out.println("itotalRow:"+itotalRow);
        int itotalCol=ExcelWSheet.getRow(0).getLastCellNum();
        System.out.println("itotalCol:"+itotalCol);
        List<String> xmlTags = new  ArrayList<String>();
        List<String> xmlvalues = new  ArrayList<String>();

        for(int j=1;j<=itotalCol;j++){
            if(ExcelWSheet.getRow(1).getCell(j).getStringCellValue().isEmpty()==false){
                xmlTags.add(ExcelWSheet.getRow(0).getCell(j).getStringCellValue()) ;
                System.out.println("xmlTags:"+j+xmlTags);
            }
            if(ExcelWSheet.getRow(1).getCell(j).getStringCellValue().isEmpty()==false){
                xmlvalues.add(ExcelWSheet.getRow(1).getCell(j).getStringCellValue()) ;
                System.out.println("xmlvalues:"+xmlvalues);
            }
        }
        for(String tag:xmlTags){
            System.out.println("xmlTags:"+tag);
        }

        for(String tagval:xmlvalues){
            //System.out.println("xmlvalues:"+tagval);
        }

        dataToWrite.add(xmlTags);
        dataToWrite.add(xmlvalues);
        for(List<String> tagall:dataToWrite){
            System.out.println("dataToWrite:"+tagall);
        }

    } catch (Exception e){
        e.printStackTrace();
    }
    return dataToWrite;
}

此处所有值均从Excel工作表中正确分配给List

如果我打印List的{​​{1}}&amp;在for循环中xmlTags添加到xmlvalues后,所有值都会正确打印。

但是,一旦for循环退出空指针,就抛出异常。此处List重新启动到List,我无法确定原因。{/ p>

for循环内打印的结果如下:

null

0 个答案:

没有答案