当前位置: 首页 > 知识库问答 >
问题:

使用流将布尔值对象[]转换为布尔值[]

水昊阳
2023-03-14
Object[] array = (Object[]) message.get(key);
boolean[] result = new boolean[array.length];
for (int i = 0; i < array.length; i++) {
    result[i] = (boolean) array[i];
}
boolean[] =  Arrays.stream(array)
                   .map(Boolean.class::cast)
                   .map(Boolean::booleanValue)
                   .toArray()

但是这个代码不起作用。编译器说

incompatible types: java.lang.Object[] cannot be converted to boolean[]

我在试图理解代码的问题是什么。我认为map(boolean::BooleanValue)将返回一个布尔值流,我可以通过ToArray收集这些值。

共有1个答案

薛俊美
2023-03-14

否,因为映射(Boolean::BooleanValue)扩展为

map((Boolean value) -> (Boolean)value.booleanValue());

(请注意编译器插入的自动装箱,因为传递给map()的函数必须返回对象,而不是boolean)

这就是为什么Java8流包括一大堆专用类(IntStreamLongStreamDoubleStream)。遗憾的是,Boolean没有专门的流类。

 类似资料:
  • 问题内容: 我有一个pojo类,其中标志之一是Boolean类型。 当此属性获取非布尔值(不是fastxml时)时,杰克逊会自动将输入值转换为。调试了几个小时后,我发现这是在setter方法中发生的。 如果此属性的输入值为非布尔值,我想传递自定义消息。我已经编写了自己的注释来验证此属性的输入值,并返回自定义消息(如果它不是布尔值,但是杰克逊在检查自定义验证器之前将其绑定)。 使用杰克逊版本>>>

  • 因此,我想知道是否有一个利索的方法来做这件事,除了

  • PHP是否有任何内置函数可以接受布尔值并返回其整数等效值?0代表FALSE,1代表TRUE?当然,您可以轻松创建一个函数来做到这一点,我只是询问PHP内部是否有内置函数。我已经尝试了并将其转换为但它们不起作用,它们在TRUE和FALSE两种情况下都返回0。 编辑:问题是它不是真正的布尔值,而是一个字符串“false”、“true”,php没有检测到传递布尔值的jquery帖子。问题解决了,谢谢!

  • 本文向大家介绍将Java字符串对象转换为布尔对象,包括了将Java字符串对象转换为布尔对象的使用技巧和注意事项,需要的朋友参考一下 可以使用字符串文字在Java中创建字符串对象。 创建字符串对象的另一种方法是使用new关键字。 我们使用第一种方法来创建字符串对象。 现在,使用该方法将字符串对象转换为布尔对象。我们已经在布尔对象上使用了此方法。 现在让我们看完整的示例,以显示如何将String Ob

  • 问题内容: 在Java中将a转换boolean为an 的最常用方法是什么int? 问题答案: ^^ PS : true = 1 and false = 0

  • 本文向大家介绍wpf 将布尔值转换为可见性值,包括了wpf 将布尔值转换为可见性值的使用技巧和注意事项,需要的朋友参考一下 示例 如果未通过使用选中复选框,则此示例隐藏红色框(边框)IValueConverter。 注:在BooleanToVisibilityConverter下面的示例中使用的是内置值转换器,设在System.Windows.Controls命名空间。 XAML: