我想轉換這個用java做...而()到Java 8do ... while()使用Java 8流?
private static final Integer PAGE_SIZE = 200;
int offset = 0;
Page page = null;
do {
// Get all items.
page = apiService.get(selector);
// Display items.
if (page.getEntries() != null) {
for (Item item : page.getEntries()) {
System.out.printf("Item with name '%s' and ID %d was found.%n", item.getName(),
item.getId());
}
} else {
System.out.println("No items were found.");
}
offset += PAGE_SIZE;
selector = builder.increaseOffsetBy(PAGE_SIZE).build();
} while (offset < page.getTotalNumEntries());
此代碼API調用apiService
和檢索數據。然後,我想循環直到偏移量小於totalNumberEntries
。
什麼是使用while()
或foreach with step
或any other kind of loop
循環,我不知道totalNumberEntries
未做API調用(這是在循環內完成),禁止我。
我能想到的一個選擇是進行API調用以獲取totalNumberEntries
並繼續循環。
'做{...}而(...)'是完全合法Java 8. –
請分享你已經嘗試過的 – sidgate
從技術上講,函數的方式將是Java 9中存在的'takeWhile' http://stackoverflow.com/a/32304570/1743880 – Tunaki