好的,这段代码工作得比较早,但突然之间,java告诉我,我无法引用两个停止对象(原点和目的地)我试图在静态循环中创建上下文,但我没有引用它们,我每次迭代都会创建一个新的临时对象,我在这里缺少什么?这个方法在我的公共类中。 错误只是说:非静态变量不能从静态上下文引用,它表示//问题区域
static void initializePassengers()
throws FileNotFoundException, IOException, NullPointerException
{
FileReader fr = new FileReader(pathto+"passengers.csv");
BufferedReader textReader = new BufferedReader(fr);
try {
while(!textReader.readLine().isEmpty()) {
String temp=textReader.readLine();
StringTokenizer te = new StringTokenizer(temp,",",false);
String name=te.nextToken();
Stop origin = new Stop(te.nextToken()); //problem area
Stop destination = new Stop(te.nextToken()); //problem area
allpassengers.add(new Passenger(name, origin, destination));
}
} catch(NullPointerException e){
System.out.println(e.getMessage());
}
textReader.close();
}
答案 0 :(得分:0)
由于您暗示有问题的行是allpassengers.add(new Passenger(name, origin, destination))
,
我假设allpassengers
是非静态成员。您应该将其设置为静态,以便从静态方法访问它。