【发布时间】:2022-07-05 23:44:59
【问题描述】:
我无法理解为什么以下不起作用?
boolean[] a = new boolean[5];
Arrays.stream(a);
我不断收到错误:
我尝试使用泛型参数:
Arrays.<Boolean>stream(a);
我好像想不通。
我完全错过了什么?
我正在使用 OpenJDK 11。
【问题讨论】:
-
这能回答你的问题吗? Java-8: boolean primitive array to stream?
-
使用
java.lang.Boolean而不是原始boolean,所以你的数组将是Boolean[] a = new Boolean[5]; -
@SilvioMayolo 我想知道为什么编译器不喜欢这个?我知道如何从布尔数组创建一个流。
-
@SilvioMayolo 我可以使用
BitSet而不是boolean[] -
因为 Java 开发人员认为不适合为
boolean提供重载。他们只提供了int、long和double。如果你问我,只提供原始类型的随机子集是愚蠢的,但这是他们决定设计库的方式。
标签: java generics java-stream