如何使以下示例有效?
Boolean persistence = Arrays.asList(new boolean[]{true, false})
.stream()
.filter(b -> b)
.findFirst().orElse(false);
当我用boolean
替换Boolean
时,它可以正常工作。
答案 0 :(得分:5)
你不能创建一个Stream
原始布尔值,这是做你想要的最有效的方法。
boolean[] myArray = new boolean[]{ true, false };
boolean result = IntStream.range(0, myArray.length)
.anyMatch(index -> myArray[index]);
或者如果您愿意,可以用anyMatch
- filter
的方法替换findFirst
。