Java 8 Ben kod parçası yazdım ve işte burada akışları kullanarak, bu daha şık yazabilir acaba:Akışları kullanarak nasıl yazılır?
public boolean possibleToAddTask(LocalDate taskDate, final String username) {
List<Task> userTasklist = find(username).getTaskList();
for(Task task : userTasklist) {
if(task.getDate().equals(taskDate)){
return false;
}
}
return true;
}
İşte - bazı boolean bir yöntem döndürülür. Belirtilen tarih zaten, bu yanlış döndüren bazı görev varsa aksi gerçek (böylece döndürme türü yöntemin adı :) büyüdü sorusunu yanıtlar)
Ben akışlarında filtrelerle çalışıyordu ama sadece çalıştı Bir süre sonra birim testleri bazı beklenmedik sonuçlar verdi, ben de onu sildim ve onun üstünü gibi yazdım. Şimdi bunun
daha önce böyleydi güzelleştirmek istiyorum: önceden
public boolean possibleToAddTask(LocalDate taskDate, final String username) {
List<Task> userTasklist = find(username).getTaskList();
try {
userTasklist.stream().filter(n -> n.getDate().equals(taskDate)).findFirst().get();
return true;
} catch (NoSuchElementException e) {
return false;
}
}
sayesinde :)
Hmm ... daha yakından özgün mantığı taklit beri Belki bu biraz daha iyidir. – kuujo
@lusiak Kusursuz bir çözüm gibi görünüyor, ancak ünite testi hala akışsız çözümler için tamam, ve akarsu çözümleri için FAILS – azalut
Muhtemelen nedenini biliyorum. Sadece akışın geri dönüşünü reddet. –