如何将单元素列表转换为java 8可选 [英] How to convert single element list to java 8 optional
本文介绍了如何将单元素列表转换为java 8可选的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何将包含一个或零个元素的列表正确转换为可选?
How to nicely convert list containing one or zero elements to Optional?
丑陋的代码:
List<Integer> integers = new ArrayList<>();
Optional<Integer> optional = integers.size() == 0 ?
Optional.empty() :
Optional.of(integers.get(0));
推荐答案
您可以使用 Stream#findFirst()
方法,其中:
You can use the Stream#findFirst()
method, which:
返回描述此流的第一个元素的Optional,如果流为空,
Returns an Optional describing the first element of this stream, or an empty Optional if the stream is empty.
List<Integer> list = ...
Optional<Integer> optional = list.stream().findFirst();
或者,同样成功,您还可以使用 Stream#findAny()
方法。
Alternatively, with the same success you can also use the Stream#findAny()
method.
这篇关于如何将单元素列表转换为java 8可选的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文