我有以下代码:

public List<Entry> getEntriesForUserId(int userId) {
    User u = DataBaseConnector
        .getAllUsers()
        .stream()
        .filter(user -> user.getUserId() == userId)
        .findFirst()
        .orElse(new User(-1, "Error");
    return u.getEntries();
}
getEntries()返回一个List<Entry>

如何将return语句添加到此lambda表达式中?就像是.map(User::getEntries)

最佳答案

您不需要lambda即可返回列表,您可以说:

public List<Entry> getEntriesForUserId(int userId) {
    return DataBaseConnector
             .getAllUsers()
             .stream()
             .filter(user -> user.getUserId() == userId)
             .findFirst()
             .orElse(new User(-1, "Error")
             .getEntries();
}

09-15 18:19