java - Java 列表该条件添加可选
问题描述
是否有提供List<T>
方法的库(例如 Apache、Guava)
void add(Optional<T> element)
如果元素存在,则添加元素,(并且如果是无操作!element.isPresent()
)?显然很容易实现,但这似乎是一件显而易见的事情,似乎有人可能已经做到了。
解决方案
而不是list.add(optio)
你只需要:
optio.ifPresent(list::add);
例子 :
Optional<Integer> optio = Optional.ofNullable(Math.random() > 0.5 ? 52 : null);
List<Integer> list = new ArrayList<>();
optio.ifPresent(list::add);
System.out.println(list); //50% of [52], 50% of []
推荐阅读
- oauth-2.0 - using third-party identity provider with Azure AD and MSAL.js
- php - Php Redis extension not working on wampserver windows10
- apache-kafka - Consume data from Kafka
- kubernetes - Get names of all deployment configs with no running pods
- postgresql - Time is being stored in postgres database without timezones even though I provide them to sequelize
- python-3.x - Convert the Powershell script to Python 3
- r - Topic modeling issues with R
- javascript - 如何使用 scrollTop 或 scrollTo 滚动到 div 的顶部
- javascript - 使用 Vuejs 在 Firebase 存储中获取上传文件的 url
- python - 我可以在 Python 中制作 3D 绘图,其中 Z 不是 X、Y 的函数 - AttributeError: 'Series' object has no attribute 'has_data'