我试着在新的java.util.function
Consumer
、Supplier
和Function
上阅读。
我不明白我们为什么需要他们,问题出在哪里,他们解决了什么?
你能给我一个没有API和新的API使用的例子吗?解决了什么问题?
也许您认为它们必须比实际情况更复杂。
它们被设计成超级简单的代码片段,它们本身并没有太多作用,但作为代码片段,你可以将其传递给可以使用这些代码片段的库。
此示例使用供应商和消费者打印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);