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

为什么Java 8中没有BooleanConsumer?

傅经业
2023-03-14
问题内容

恐怕这是一个愚蠢的问题。

有谁能告诉我为什么没有BooleanConsumer对立的东西BooleanSupplier

除了“因为根本就没有”以外,还有其他原因吗?

我应该创建自己的一个吗?还是我想念其他东西?

public interface BooleanConsumer {

    void accept(boolean value);

    default BooleanConsumer andThen(final BooleanConsumer after) {
        return v -> {
            accept(v);
            after.accept(v);
        }
    }
}

更新资料

在哪里使用?我正在编写一个使用大量消费者和供应商的图书馆。我成功地写了一行,LongConsumer并且遇到一种情况,期望消费者接受来自方法结果的布尔值。说Files.deleteIfExist什么


问题答案:

IntConsumer并且LongConsumer需要避免开销自动装箱每个值。处理原始图元更有效。但是,对于布尔值和字节,每个可能的对象都被缓存,因此没有什么理由避免使用Consumer<Boolean>Consumer<Byte>



 类似资料:
  • 问题内容: 我知道每次键入字符串文字时,字符串池中都会引用相同的String对象。 但是,为什么String API不包含,所以我可以使用引用? 至少,这将节省编译时间,因为编译器将知道引用现有的String,而不必检查是否已创建它以进行重用,对吗?我个人认为,字符串文字(尤其是很小的文字)在许多情况下是一种“代码异味”。 那么是否没有String.Empty背后的宏伟设计原因,还是语言创建者根本

  • 问题内容: 在Java中,有和接口。两者都属于Java的标准框架,并提供了一种访问元素的分类方法。 但是,据我了解没有。你可以用来对列表进行排序。 知道为什么要这样设计吗? 问题答案: 列表迭代器首先确保你以列表的内部顺序(也称为插入顺序)获取列表的元素。更具体地说,它是按照插入元素的顺序或操作列表的方式进行的。排序可以看作是对数据结构的一种操作,有几种方法可以对列表进行排序。 我将按照自己的见解

  • 问题内容: 为什么JavaFX中没有ObservableQueue?如果我们查看FXCollection的Java 9文档(只是看一下8的变化),我们会看到用于创建Observable集,列表和映射的静态助手方法。还有一些创建Observable float和integer数组的方法。但是,无法创建ObservableQueue。Java中的Queue接口具有许多有趣的实现,包括ArrayDequ

  • 问题内容: 我正在尝试做这样的事情: 不幸的是,即使在Java 9中也不存在。 为什么它被遗漏了? 建议的解决方法是什么? 问题答案: 为什么它被遗漏了? 该API提供了可重用的构建块。这里的相关积木是,,。通过这些,您可以实现所需的功能:将流内映射到对象,然后获得平面图。提供构建基块的排列是不切实际的,并且很难扩展。 建议的解决方法是什么? 如前所述,使用可用的构建基块(+ ):

  • 许多编译器都提供128位整数类型,但我使用过的编译器都没有提供typedefs。为什么? 据我回忆,标准 用于此目的的储量 鼓励提供此类类型的实现提供typedef 要求此类实现提供至少128位的intmax_t (而且,我不相信我使用了实际上符合最后一点的实现)

  • 问题内容: 免责声明:我现在只和Go玩了一天,所以我很有可能错过了很多。 有谁知道为什么Go中没有对泛型/模板/ whatsInAName的真正支持?因此,有一个通用的,但这是由编译器提供的,而Go程序员无法编写自己的实现。关于如何使Go尽可能正交的所有讨论,为什么我可以使用通用类型而不创建新类型? 尤其是在函数式编程方面,有lambda甚至闭包,但是在缺少泛型的静态类型系统中,我该如何编写泛型高