Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 静态变量,从公共类中静态方法中的类创建新变量_Java_Static Methods_Static Variables - Fatal编程技术网

Java 静态变量,从公共类中静态方法中的类创建新变量

Java 静态变量,从公共类中静态方法中的类创建新变量,java,static-methods,static-variables,Java,Static Methods,Static Variables,好的,这段代码早些时候就开始工作了,但是突然之间,java告诉我,我无法引用我试图从静态上下文在循环中创建的两个停止对象(起点和终点),但我没有引用它们,每次迭代我都会创建一个新的临时对象,我在这里遗漏了什么?这个方法在我的公共类中。 错误只是说:不能从静态上下文中引用非静态变量,其中显示//问题区域 static void initializePassengers() throws FileNotFoundException, IOException, NullPointerExcep

好的,这段代码早些时候就开始工作了,但是突然之间,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();
}

由于您暗示有问题的线路是
所有乘客。添加(新乘客(姓名、始发地、目的地))

我假设所有乘客都是非静态成员。您应该将其设置为静态,以便从静态方法访问它。

请修复缩进,并删除不相关的代码(包括注释掉的位)。现在读你的问题太难了。此外,请张贴准确的错误消息,包括它发生的地方。阅读更多提示。我觉得这并不是固定不变的。在我看来它仍然到处都是。但这听起来好像是问题所在。。。您还没有告诉我们任何有关这方面的信息。
Stop
类是如何定义的?它是一个内部非静态类,还是一个超出范围的本地类?te是我的标记器对象,我实例化它来分解temp,Stop是它自己的类,它的构造函数通过在外部文件中查找它来获取一个字符串并填充它的字段(名称、idnumber)。在哪里定义了
pathto
?它是静态的吗?我在类范围中声明了它,如下所示:静态ArrayList AllPassentials=new ArrayList();问题是前面的两行,确切的问题是:新的停止(te.nextToken());