Java-8:要流式传输的布尔原始数组?

Java-8: boolean primitive array to stream?(Java-8:要流式传输的布尔原始数组?)

本文介绍了Java-8:要流式传输的布尔原始数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

There is no nice way to convert given boolean[] foo array into stream in Java-8 in one statement, or I am missing something?

(I will not ask why?, but it is really incomprehensible: why not add stream support for all primitive types?)

Hint: Arrays.stream(foo) will not work, there is no such method for boolean[] type.

解决方案

Given boolean[] foo use

Stream<Boolean> stream = IntStream.range(0, foo.length)
                                  .mapToObj(idx -> foo[idx]);

Note that every boolean value will be boxed, but it's usually not a big problem as boxing for boolean does not allocate additional memory (just uses one of predefined values - Boolean.TRUE or Boolean.FALSE).

这篇关于Java-8:要流式传输的布尔原始数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Java-8:要流式传输的布尔原始数组?

基础教程推荐