[英]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.