簡體   English   中英

Java中的遞歸問題。 方法返回空列表

[英]Issue with Recursion in Java. Method is returning empty list

我試圖從我的方法返回一個數組列表,該方法實際上使用遞歸來填充該列表。 但是該方法總是返回一個空列表。 我已經在調試模式下檢查過,列表在第二遍就被填充了,但是方法仍然返回0元素。

下面是我的方法的代碼。

private static List<WebElement> checkMonth(WebDriver driver) {
    List<WebElement> months = driver.findElements(By
            .xpath("//div[@class='DayPicker-Caption']"));
    List<WebElement> daysList = new ArrayList<WebElement>();
    for (WebElement monthEl : months) {
        if (monthEl.getText().contains(month)) {
            daysList.addAll(driver.findElements(By
                    .xpath("//div[contains(text(),'" + month
                            + "')]/..//div[@aria-disabled='false']/div")));
        }
    }

    if (daysList.size() == 0) {
        driver.findElement(
                By.xpath("//span[@class='DayPicker-NavButton DayPicker-NavButton--next']"))
                .click();
        checkMonth(driver);
    }

    return daysList;
}

您正在進行遞歸調用

checkMonth(driver)

但忽略該調用返回的List

也許您想將該調用的輸出添加到您的方法( daysList列表)返回的整體輸出中:

daysList.addAll(checkMonth(driver));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM