【问题标题】:Passing objects created in ArrayList to another method of another class将 ArrayList 中创建的对象传递给另一个类的另一个方法
【发布时间】:2013-02-10 16:26:55
【问题描述】:

我有一个名为 AirMain 的类,我在其中接收航空公司信息用户的输入。我有另一个名为 Airline 的类,其中创建了构造函数以将用户输入存储为 Airline 对象,然后将其存储到名为“info”的 ArrayList 中。

我有另一个名为“query”的 ArrayList 存储来自 Airline 类的对象,但与“info”ArrayList 的参数不同。

当我尝试将这两个 ArrayList 传递给另一个类方法(在 Airline 类中命名为 earlyDepart())时,我收到错误“找不到符号;位置:类对象”。这是一个相当长的代码,所以请参见下面的传递给另一个类的其他方法的快照以及发生错误的点。

请告诉我如何将包含对象的 Arraylist 传递给另一个类进行处理。提前致谢!

AirMain 类中的代码

ArrayList <Airline> info = new ArrayList<Airline>();
ArrayList <Airline> query = new ArrayList<Airline>();
Airline createAirline = new Airline (fromCity, toCity, departTime, arriveTime, cost);
info.add(createAirline);
Airline createQuery = new Airline(type, fromCity, toCity);
query.add(createQuery);
if (query.get(i).getType() == 1) { query.get(i).earliestDepart(info);  }//end of if type 1

航空公司舱位代码

public void earliestDepart(ArrayList info){
String retrieve = info.get(i).getFromCity();//error kicks into this statement 
}

【问题讨论】:

  • 什么是i?我没有看到它在任何地方定义。
  • “i”在“for”循环中定义。 for (int i=0; i

标签: java object arraylist


【解决方案1】:

您需要像这样修改 earliestDepart() 方法中的 info 参数:

public void earliestDepart(List<Airline> info){
String retrieve = info.get(i).getFromCity();//error kicks into this statement 
}

【讨论】:

    【解决方案2】:

    按值传递给earliestDepart 方法。

    public void earliestDepart(List<Airline> infoList){...}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-06
      • 2013-12-10
      • 2012-03-01
      • 2017-03-04
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多