作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
如何将包含一个或零个元素的列表很好地转换为 Optional?
丑陋的代码:
List<Integer> integers = new ArrayList<>();
Optional<Integer> optional = integers.size() == 0 ?
Optional.empty() :
Optional.of(integers.get(0));
最佳答案
您可以使用 Stream#findFirst()
方法,其中:
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()
同样成功方法。
关于java - 如何将单个元素列表转换为java 8可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30868069/
我是一名优秀的程序员,十分优秀!