[英]How do i change a method with enhanced for-loop that returns a method call in to a Stream in Java?
我有一個名為getBalance
的方法,其中我有一個增強的 for 循環,在循環內我返回customer.getBalance();
我現在想將該方法更改為 Java 8 中的 Stream,但我不知道該怎么做,因為您無法在流中返回某些內容。
方法:
public double getBalance(String personalNumber, int accountNumber) {
for (Customer customer : customers) {
if (customer.getPersonalNumber().equals(personalNumber)) {
return customer.getBalance(accountNumber);
}
}
return 0;
}
您可以使用filter
和findFirst
來做到這一點:
return customers.stream()
.filter(customer -> customer.getPersonalNumber().equals(personalNumber))
.findFirst()
.map(customer -> customer.getBalance(accountNumber))
.orElse(0);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.