英文:
foreach two different objects with a single cycle
问题
我有两个不同的对象,但当我使用单个for循环时,它们都有共同的对象。
因为我只想用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()) {
}
英文:
I have two different objects, but when I do a single for loop they both have the common object.
Since I want to do the only foreach. Why do you give me error in the syntax 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
你不能在Java中使用一个foreach循环遍历两个列表。如果你想要同时遍历它们,你可以这样做:
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);// 对其进行操作
}
if (i < caBonifici.size()) {
caBonifici.get(i);// 对其进行操作
}
i++;
}
如果你百分之百确定这两个列表的大小相同,你可以在访问列表元素之前省略检查:
int i = 0;
List<Bonifico> rpBonifici = rp.getBonifici();
List<Bonifico> caBonifici = ca.getBonifici();
while (i < rpBonifici.size() || i < caBonifici.size()) {
rpBonifici.get(i);// 对其进行操作
caBonifici.get(i);// 对其进行操作
i++;
}
英文:
You cannot loop two lists with one foreach in java. If you want to loop them together you can do:
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++;
}
If you're 100% sure that the lists have the same size, you can take off the checks before accessing the elements of the list:
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++;
}
专注分享java语言的经验与见解,让所有开发者获益!
评论