我在以下代码中获得了nullpointer异常。代码从文本中读取并将每行存储在数组中。该数组是一个包含长度为5的单个String数组的类。我很困惑,为什么我会收到此错误。
Question[] questions = new Question[100];
File file = new File("q.txt");
String[] tempq = new String[5];
try {
Scanner read = new Scanner(file);
while(counter<100){
for(int i= 0;i<5;i++){
tempq[i]=read.nextLine();
}
questions[counter].setDetails(tempq);
counter++;
}
} catch (FileNotFoundException ex) {
ex.printStackTrace();
}
答案 0 :(得分:3)
这一行:
Question[] questions = new Question[100];
此行将创建一个包含100个Question
个对象的数组,但不会在数组中创建每个对象。添加
questions[counter] = new Question();
(或任何你的构造函数)是创建问题,然后设置细节。
答案 1 :(得分:0)
默认情况下,数组使用默认值初始化,例如0表示int,\u0000
表示对象的char null
。
在使用之前,您必须填充数组中的值。