我尝试阅读新的java.util.function
Consumer
,Supplier
和Function
。
我不明白为什么我们需要它们,问题是什么以及它们解决了什么?
请您举一个没有这些API和新API以及解决方法的使用示例?
答案 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);