【问题标题】:Passing data to an object将数据传递给对象
【发布时间】:2014-02-24 19:03:58
【问题描述】:

我将在底部列出我的代码,但这是交易。 我有一个带有处理方法的解析器类。此方法从网页中抓取数据。我想抓取每一行,将字符串拆分为一个数组并将值添加到一个对象,然后将该对象添加到一个 ArrayList。随着循环的迭代,每行抓取的新值都通过对象添加到 ArrayList 中。这段代码中的相关方法是public ArrayList process()

我收到以下编译错误:

构造函数 Flight(String) 未定义 标记“[”的语法错误,此标记后应为表达式

ArrayList 类型中的方法 add(String) 不适用于参数(Flight)

我在这里做错了什么,如果解决它怎么办?

public class HtmlParser {

public String url;
public String airline;
public static String lastFlight;
static ArrayList<String> capture = new ArrayList<String>();



public HtmlParser(Properties config) throws IOException{

    url = config.getProperty("url");
    airline = config.getProperty("airline");

    print("Fetching.........%s" , url);

}

public ArrayList<String> process() throws IOException{
    Document doc = Jsoup.connect(url).get();

    Elements tableRow = doc.getElementsByTag("tr");

    for(Element tr : tableRow){
        if(tr.text().contains(airline)){
            String delims = "[ ]+";
            String singleRowArray[] = tr.text().split(delims);
            Flight f = new Flight(singleRowArray[]);
            capture.add(f);
        }
    }
    return capture;
}

这是我的航班舱位。

public class Flight {

public Flight(String singleRowArray[]) {
    String origin = singleRowArray[0];
    String airline1 = singleRowArray[1];
    String airline2 = singleRowArray[2];
    String flightNo = singleRowArray[3];
    String date = singleRowArray[4];
    String ArrTime = singleRowArray[5];
    String status = singleRowArray[6];

}

}

【问题讨论】:

  • 这里的最佳答案在哪里?

标签: java arraylist parameter-passing


【解决方案1】:

“构造函数 Flight(String) 未定义 标记“[”上的语法错误,此标记后应为表达式”

尝试将括号切换为类型,而不是变量:String[] singleRowArray

“ArrayList类型中的add(String)方法不适用于参数(Flight)”

您有一个List&lt;String&gt;,您想在其中输入Flight 类型的对象,因此您应该将列表类型更改为List&lt;Flight&gt;

【讨论】:

    【解决方案2】:
    static ArrayList<String> capture = new ArrayList<String>();  
    

    不能在捕获列表中添加 Flight 类对象,该类对象只能包含 String 类型的元素。

         Flight f = new Flight(singleRowArray[]);
         capture.add(f);  // Issue
    -----------------^
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-25
      • 2020-03-21
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 2020-07-12
      • 2015-08-30
      相关资源
      最近更新 更多