передний план двух разных объектов с одним циклом - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть два разных объекта, но когда я делаю один для l oop, они оба имеют общий объект. Так как я хочу сделать единственный foreach. Почему вы даете мне ошибку в синтаксисе foreach?

ListResponse rp = sctService.search(usercode, dateFrom, dateTo, amountFrom, amountTo, debit);
CancellableSearchResponse ca = sctService.searchCancellable(usercode, amountFrom, amountTo);


for (Bonifico b : rp.getBonifici();ca.getBonifici()) {
}

1 Ответ

0 голосов
/ 08 апреля 2020

Вы не можете l oop два списка с одним foreach в java. Если вы хотите соединить их вместе oop, вы можете сделать следующее:

int i = 0;
List<Bonifico> rpBonifici = rp.getBonifici();
List<Bonifico> caBonifici = ca.getBonifici();
while (i < rpBonifici.size() || i < caBonifici.size() {
    if (i < rpBonifici.size()) {
        rpBonifici.get(i);// do something with it
    }
    if (i < caBonifici.size()) {
        caBonifici.get(i);// do something with it
    }
    i++;
}

Если вы на 100% уверены, что списки имеют одинаковый размер, вы можете снять чеки перед доступом к элементам список:

int i = 0;
List<Bonifico> rpBonifici = rp.getBonifici();
List<Bonifico> caBonifici = ca.getBonifici();
while (i < rpBonifici.size() || i < caBonifici.size() {
    rpBonifici.get(i);// do something with it
    caBonifici.get(i);// do something with it
    i++;
}
...