当前位置: 首页 > 面试题库 >

Java-8:要传输的布尔基本数组?

潘坚白
2023-03-14
问题内容

没有一种好的方法可以 在一条语句中 将给定boolean[] foo数组转换为Java-8 中的 流,否则我会丢失什么?

(我不会问 为什么? ,但这确实令人难以理解:为什么不为所有原始类型添​​加流支持?)

提示: Arrays.stream(foo)将不起作用,没有这种boolean[]类型的方法。


问题答案:

给定boolean[] foo用途

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

请注意,每个布尔值都会被装箱,但这通常不是什么大问题,因为对布尔值的装箱不会分配额外的内存(仅使用预定义的值之一-
Boolean.TRUEBoolean.FALSE)。



 类似资料:
  • 没有好的方法来转换给定的数组成流在Java-8在一个语句,或者我错过了什么? <罢工> 提示:<代码>数组。流(foo)将不起作用,对于布尔[]类型,没有这样的方法。

  • 本文向大家介绍Java的布尔类型基本介绍,包括了Java的布尔类型基本介绍的使用技巧和注意事项,需要的朋友参考一下 Java 有一种表示逻辑值的简单类型,称为布尔型。它的值只能是真或假这两个值中的一个。它是所有的诸如a下面的程序说明了布尔类型的使用: 这个程序的运行结果如下所示: 关于这个程序有3件有趣的事情要注意。首先,你已经看到,当用方法println ( ) 输出布尔的值时,显示的是“tru

  • 我被一件简单的事情困住了。我有一个名为“tags”的布尔值数组能够通过布尔值访问数组的每个元素对我来说很重要: 我传入trackTags数组并将布尔值赋给它(比如说[true,true,true,false])。因此,当我调用trackTags[0]时,我得到了“true”但是,当我打印“Energy”(能量)时,它应该与trackTags(0)相同,该值始终为false。我知道booleans

  • 问题内容: 作为一个相当环保的Java程序员,我给自己设定了尝试编写简单文本冒险的艰巨挑战。毫不奇怪,我已经遇到了困难! 我试图给我的Location类一个属性来存储退出包含的属性。我为此使用了一个布尔数组,以实质上保存代表每个出口的true / false值。我并不完全相信 a) 这是最有效的方法,并且 b) 我正在使用正确的代码填充数组。 我希望收到所有反馈,即使是对完整的代码进行大修! 目前

  • 作为一个相当环保的Java程序员,我给自己设定了一个巨大的挑战,试图编写一个简单的文本冒险。不出所料,我已经遇到了困难! 我正在尝试为我的 Location 类提供一个属性来存储它包含的出口。为此,我使用了一个布尔数组,基本上保存表示每个出口的真/假值。我不完全相信 a) 这是最有效的方法 b)我正在使用正确的代码来填充数组。 我将感谢任何和所有的反馈,即使是一个完整的代码超载! 目前,在实例化位

  • 我注意到java有一个问题。它不能解析空值的布尔类。我知道它有静态方法,但它的签名声明它只接受,而不接受。 换句话说,它有以下签名: 但不是: 检查布尔值而不陷入NullPointerException的最佳方法是什么?