我遇到了字符串数组的问题并尝试将其添加到列表(列表)中。以下是使用并创建问题的代码。
该程序在循环的第一次运行时失败,我已经使用 OpenCSV 验证了来自 CSV 的输入。
List<String[]> output = null;
String[] temp;
for(int i = 0; i < 13; i++)
{
temp = reader.readNext(); //read next line into temp
System.out.println(temp[0]+temp[1]+temp[2]); //temp output
temp[2] = String.valueOf((values[i])/100); //assign new value
System.out.println(temp[0]+temp[1]+temp[2]); //temp output
output.add(temp);
}
当此代码运行时,输出为。
VANCBULLET0.311
VANCBULLET0.308
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Main.updateCSV(Main.java:951)
at Main.start(Main.java:863)
at Main.access$23(Main.java:853)
at Main$23.actionPerformed(Main.java:520)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
前两行是正确的,并且拆分如下: temp[0] temp[1] temp[2] VANC BULLET 0.311 VANC BULLET 0.308
问题是(如错误读取):
output.add(temp);
文档内容如下:
NullPointerException - if the specified element is null and this list does not permit null elements
但正如您从我的输出(第二行)中看到的那样,数组“temp”不为空,它分别在每个元素中包含“VANC BULLET 0.308”。
我难住了。有没有人有想法或看到我没看到的东西?
谢谢