【发布时间】:2020-04-26 17:38:43
【问题描述】:
- 我想为字段
selectedResources设置一个List<String>。 -
getProtectionSet()返回List<ProtectionSet> - ProtectionSet 有一个字段
List<UUID> resourceIds而这个List<UUID>=List<String>我想保存在 selectedResources 中。 -
getProtectionSet()是一个列表,但我想从第一个获取值 元素 - 我不想出现 NPE 异常
- 当任何列表为空时,再往前走是没有意义的。
private Mono<Protection> addProt(Protection protection) {
...
...
MyClass.builder()
.fieldA(...)
.fieldB(...)
.selectedResources( //-->List<String> is expected
protection.getProtectionSet().stream() //List<ProtectionSet>
.filter(Objects::nonNull)
.findFirst()
.map(ProtectionSet::getResourceIds) //List<UUID>
.get()
.map(UUID::toString)
.orElse(null))
.fieldD(...)
如何编写我的流以避免 NPE 异常?
【问题讨论】:
标签: java java-8 java-stream optional