为什么我们需要Java 8中的消费者和供应商功能?

时间:2016-07-26 11:00:11

标签: java java-8

我尝试阅读新的java.util.function ConsumerSupplierFunction

我不明白为什么我们需要它们,问题是什么以及它们解决了什么?

请您举一个没有这些API和新API以及解决方法的使用示例?

1 个答案:

答案 0 :(得分:3)

也许你认为他们必须比他们更复杂。

它们被设计成超级简单的代码片段,它们本身不会做很多事情,但是作为代码片段,您可以传递给可以使用这些代码片段的库。

此示例使用供应商和消费者打印100个UUID

Stream.generate(UUID::random) // <<< Supplier<UUID>
      .limit(100)
      .forEach(System.out::println); // <<< Consumer<UUID>

更长的例子是

Supplier<UUID> uuidSupplier = UUID::random;
Consumer<UUID> uuidConsumer = System.out::println;
Stream.generate(uuidSupplier)
      .limit(100)
      .forEach(uuidConsumer);