【发布时间】:2018-12-18 12:12:30
【问题描述】:
在下面发布的代码中,我想知道如何遍历可选对象列表? 根据代码:
OptionalsUtils.toOptional(this.getUser_3())
.flatMap(user->user.getOptUserFavoriteTvList()
.filter(list-> list.get(???) != Optional.empty())
);#
现在我想引用列表中的每个索引?我怎样才能实现它?
代码:
OptionalsUtils.toOptional(this.getUser_3())
.flatMap(user->user.getOptUserFavoriteTvList()
.filter(list-> list.get(0) != Optional.empty())
);
private User getUser_3() {
List<Optional<String>> list = new ArrayList<>(5);
list.add(Optional.of("espn"));
list.add(Optional.of("Cnn"));
list.add(Optional.empty());
list.add(Optional.of("deutsch welle"));
User user = new User();
user.setUserName("johannas");
user.setUserEmailAddres("joha90@gmail.com");
user.setUserId("2005");
user.setUserFavoritesTvList(list);
return user;
}
public Optional<List<String>> getOptUserFavoriteTvList() {
return OptionalsUtils.toOptional(this.getUserFavoriteTvList());
}
【问题讨论】:
-
使用您的 getOptUserFavoriteTvList() 方法使用您的列表并使用 for 循环进行迭代
-
OptionalsUtils.toOptional是做什么的?看起来Optional.ofNullable是您应该使用的,而不是自定义实用程序方法。