在System.out.println(record.get(“ TemperatureF”))行获取java.lang.NullPointerException不知道为什么

问题描述 投票:0回答:1

我在第NullPointerException行得到了System.out.println(record.get("TemperatureF"))。我不知道为什么。 我认为record =coldestHourInFile(parser);不能初始化记录对象,因为如果我创建另一个CSVRecord对象并通过该对象初始化记录对象,则它可以正常工作。

public void testMultiplefile()
{
    DirectoryResource dr=new DirectoryResource();//for accessing multiple csv files
    CSVRecord record =null;
    File f1=null;       
    for(File f:dr.selectedFiles())
    {
        FileResource fr=new FileResource(f);//c
        CSVParser parser=fr.getCSVParser();
        if(record==null)
        {
            record=coldestHourInFile(parser);  
            f1=f;
        }
        else
        {
            if(Double.parseDouble(record.get("TemperatureF")) > 
               Double.parseDouble(coldestHourInFile(parser).get("TemperatureF")))
            {
                f1=f;
                record=coldestHourInFile(parser);//changing record reference
            }
        }
    }
    System.out.println(f1.getName());//printing csv file name
    System.out.println(record.get("TemperatureF"));//printing record temperature column
}
java object nullpointerexception reference
1个回答
1
投票

查看此行:

record=coldestHourInFile(parser);

如果colerstHourInFile返回null,则在程序的最后一行中将得到NullPointerException。

© www.soinside.com 2019 - 2024. All rights reserved.