簡體   English   中英

如何使用增強的 for 循環更改方法,該方法將方法調用返回到 Java 中的 Stream?

[英]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;
}

您可以使用filterfindFirst來做到這一點:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM