ck1*_*221 0 java csv arrays string
我遇到String数组的问题,并尝试将其添加到列表(List).以下是使用和创建问题的代码.
程序在第一次循环运行时失败,我已经使用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);
}
Run Code Online (Sandbox Code Playgroud)
当此代码运行时输出为.
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)
Run Code Online (Sandbox Code Playgroud)
前两行是正确的,分为:temp [0] temp [1] temp [2] VANC BULLET 0.311 VANC BULLET 0.308
问题是(如错误读取):
output.add(temp);
Run Code Online (Sandbox Code Playgroud)
文件内容如下:
NullPointerException - if the specified element is null and this list does not permit null elements
Run Code Online (Sandbox Code Playgroud)
但是从我的输出(第二行)可以看出,数组"temp"不为空,它分别在每个元素中包含"VANC BULLET 0.308".
我很难过.有没有人有想法或看到我看不到的东西?
谢谢
从我可以看到你从未List<String[]> output = null;在你的代码中初始化.因此,当它调用时List.add,List仍为null,它会抛出NPE
首先初始化它:
List<String[]> output = new ArrayList<String[]>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
257 次 |
| 最近记录: |