我有一个列表,可以为空;
List<T> list; // may or may not null
我想与消费者处理每个元素。
到目前为止,我知道。
ofNullable(list)
.map(List::stream)
.ifPresent(stream -> stream.forEach(e -> {}));
要么
ofNullable(eventDataList).ifPresent(v -> v.forEach(e -> {}));
有没有简单或简洁的方法可以做到这一点?
最佳答案
为了避免丑陋的null检查,请使用orElse(Collections.emptyList())
Optional.ofNullable(eventDataList)
.orElse(Collections.emptyList())
.forEach(e -> {});
使用静态导入,非常简洁:
ofNullable(eventDataList).orElse(emptyList()).forEach(e -> {});