【发布时间】:2013-04-10 07:29:39
【问题描述】:
我对我在这里做错了什么感到有点困惑。我有一个 for each 循环,它通过 List<String[]> 中的每个 String[],如下所示:
try {
List<String[]> lines;
//Code that fills lines
for (String[] line : lines){
System.out.println(line[0] + " " + line[1] + " " + line[2]);
data.write(line[0], line[1], line[2]);
}
//More Code
} catch (Exception e){ //TODO: DEBUG
System.err.println(e.getMessage());
}
我已验证行中的每个项目确实存在,但我仍然在data.write(line[0], line[1], line[2]); 行得到一个NullPointerException。
我很困惑,因为System.err.println(e.getMessage()); 只是打印null 而System.out.println(line[0] + " " + line[1] + " " + line[2]); 将打印正确的数据
例外是在那一行,所以我不认为它是write() 方法(如果我尝试进入它,调试器将无法写入)。
谢谢
【问题讨论】:
-
你在哪里初始化
data? -
除非我们看到“填充行的代码”,否则我们无法帮助您,因为这就是问题所在。 (正如drawmore指出的那样,您初始化
data的那个或位置。) -
填写
lines的代码是什么样的?这很可能是问题所在。 -
用
e.printStackTrace();代替System.err.println(e.getMessage()); -
显然不是。认为如果您在超类中启动,它会逐渐下降。尴尬……
标签: java arrays string nullpointerexception