Ich will das Java konvertieren do ... while() zu einem Java 8.do ... while() mit Java 8 Stream?
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());
Dieser Code api Aufruf apiService
macht und ruft Daten. Dann möchte ich Schleife, bis der Offset weniger als totalNumberEntries
ist.
Was aus verbietet mir while()
oder foreach with step
oder any other kind of loop
Schleife ist, weiß ich nicht die totalNumberEntries
ohne API-Aufruf zu machen (die innerhalb der Schleife erfolgt).
Eine Option, die ich mir vorstellen kann, besteht darin, den API-Aufruf zu machen, nur um die totalNumberEntries
zu erhalten und mit der Schleife fortzufahren.
'do {...} while (...)' vollkommen legal ist in Java 8. –
Bitte teilen Sie, was Sie ausprobiert haben – sidgate
Technisch wäre der funktionale Weg ein 'takeWhile', der in Java existiert. 9 http://stackoverflow.com/a/32304570/1743880 – Tunaki