我有以下代码:
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();
}
关于Java Stream API如何改进表达,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51837585/