Java将方法转换为Lambda表达式

时间:2020-05-07 18:22:40

标签: java lambda java-stream

此方法在lambda表达式中应该是什么样?

public Book returnBook(int idBook){
   for (Book b : records){
        if(b.getIdBook() == idBook){
            return b;
        }
    }

    return null;
}

2 个答案:

答案 0 :(得分:2)

流版本主要由filter + findFirst

组成
return records.stream()
              .filter(book -> book.getIdBook() == idBook)
              .findFirst()
              .orElse(null);

答案 1 :(得分:0)

如果recordsCollection,请执行以下操作:

public Book returnBook(int idBook) {
    return records.stream()
        .filter(book -> book.getIdBook() == idBook)
        .findFirst()
        .orElse(null);
}

如果records是一个数组,请执行以下操作:

public Book returnBook(int idBook) {
    return Arrays.stream(records)
        .filter(book -> book.getIdBook() == idBook)
        .findFirst()
        .orElse(null);
}
相关问题