使用参数化构造函数添加到ArrayList

时间:2017-03-31 19:11:23

标签: java arraylist constructor

我正在编写一个从文件中获取信息的代码,然后根据文件中的信息用对象Request(我已经在另一个java文件中编写)填充一个数组。这是我到目前为止main方法

中的内容
Scanner userIn = new Scanner(System.in);
System.out.println("Please input the file name that you would like to be read into reqMover");
String thisFile = userIn.next(); 
FileReader inReader = new FileReader(thisFile);
Scanner inFile = new Scanner(inReader);

ArrayList<Request> newReq = new ArrayList<Request>();

do{
    newReq.add(Request(inFile.nextInt(), inFile.nextInt(),
                       inFile.nextInt(), inFile.nextInt()));
    inFile.nextLine();
}while(inFile.hasNextLine());

此代码驻留在名为reqMover的java文件中。我遇到的这个问题是编译器告诉我“方法Request(int, int, int, int)未定义类型reqMover”,即使该方法是我在另一个类中创建的构造函数。使用此构造函数加载ArrayList时,我需要做些什么特别的事情吗?

1 个答案:

答案 0 :(得分:0)

您似乎正在调用Request Class的构造函数 要创建实例或调用annoymus对象,您需要使用 new 运算符。 如果不是,即你没有调用构造函数,则需要定义一个带有

签名的方法
Access-Specifier return type Request (type param1, type param2, type aram3, type param4){ 
  //handle your actions
}