Java 写入csv文件时出现NullPointerException

Java 写入csv文件时出现NullPointerException,java,nullpointerexception,opencsv,Java,Nullpointerexception,Opencsv,我想用opencsv库编写一个csv,但是,当运行代码时,我得到一个NullPointerException public void exportToCSV(ArrayList<Data> list) throws IOException { log.info("write CSV file"); String writerPath = "C:\\Users\\User\\Desktop\\Output\\output.csv";

我想用
opencsv
库编写一个csv,但是,当运行代码时,我得到一个
NullPointerException

public void exportToCSV(ArrayList<Data> list) throws IOException {
        log.info("write CSV file");

        String writerPath = "C:\\Users\\User\\Desktop\\Output\\output.csv";

        CSVWriter writer = new CSVWriter(new FileWriter(writerPath), ';');

        //headers
                String [] entries = {"ID", "Date"};

        writer.writeNext(entries);

        List<String[]> data = new ArrayList<String[]>();
        for (int m = 0; m < list.size(); m++) {
            data.add(new String[] {
                    list.get(m).getID,
                    (list.get(m).getDate().toString()==null) ? "null" : list.get(m).getDate().toString(), //Here i get the NullPointerException
            });
        }
        writer.writeAll(data);
        writer.close();
    }
public void exportToCSV(ArrayList列表)引发IOException{
log.info(“写入CSV文件”);
String writerPath=“C:\\Users\\User\\Desktop\\Output\\Output.csv”;
CSVWriter writer=新的CSVWriter(新的文件编写器(writerPath),“;”;
//标题
字符串[]项={“ID”,“Date”};
writer.writeNext(条目);
列表数据=新的ArrayList();
对于(int m=0;m
我猜
getDate()
是空的,它的类型是
Timestamp
。然而,当
getDate()
null
时,为什么我提出的解决方案在编写
字符串时不起作用呢

我感谢你的答复

list.get(m).getDate().toString()==null
应更改为
list.get(m).getDate()==null

如果
list.get(m).getDate()
null
。对其调用方法将导致“猜测”的原因。异常在哪一行抛出?您是否使用了调试器来查看实际为null的内容?因为getDate()返回null,所以无法对其调用toString()。另请参见,文档的第一行几乎是“调用null对象的实例方法”
public void exportToCSV(ArrayList<Data> list) throws IOException {
        log.info("write CSV file");

        String writerPath = "C:\\Users\\User\\Desktop\\Output\\output.csv";

        CSVWriter writer = new CSVWriter(new FileWriter(writerPath), ';');

        //headers
                String [] entries = {"ID", "Date"};

        writer.writeNext(entries);

        List<String[]> data = new ArrayList<String[]>();
        for (int m = 0; m < list.size(); m++) {
            data.add(new String[] {
                    list.get(m).getID,
                    (list.get(m).getDate().toString()==null) ? "null" : list.get(m).getDate().toString(), //Here i get the NullPointerException
            });
        }
        writer.writeAll(data);
        writer.close();
    }