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();
}