Tôi gặp sự cố với luồng của Java 8 foreach khi cố gắng chuyển sang mục tiếp theo trong vòng lặp. Tôi không thể đặt lệnh như continue;
, chỉ return;
hoạt động nhưng bạn sẽ thoát khỏi vòng lặp trong trường hợp này. Tôi cần chuyển sang mục tiếp theo trong vòng lặp. Làm thế nào tôi có thể làm điều đó?
Ví dụ (không hoạt động):
try(Stream<String> lines = Files.lines(path, StandardCharsets.ISO_8859_1)){
filteredLines = lines.filter(...).foreach(line -> {
...
if(...)
continue; // this command doesn't working here
});
}
Ví dụ (đang làm việc):
try(Stream<String> lines = Files.lines(path, StandardCharsets.ISO_8859_1)){
filteredLines = lines.filter(...).collect(Collectors.toList());
}
for(String filteredLine : filteredLines){
...
if(...)
continue; // it's working!
}
continue
vẫn sẽ chuyển sang mục tiếp theo mà không có bất kỳ thay đổi chức năng nào.
else
khối. Nếu không có gì sau continue
đó, hãy thả khối if và tiếp tục: chúng vô dụng.