【发布时间】:2015-04-09 15:14:04
【问题描述】:
作为一名学习 Java 的非 Java 程序员,我目前正在阅读有关 Supplier 和 Consumer 接口的信息。我无法理解它们的用法和含义。
您何时以及为何使用这些接口?谁能给我一个简单的外行例子吗?
我发现文档示例不够简洁,无法理解。
【问题讨论】:
-
我喜欢 Stuart Marks 的回答。而且我认为下面回答的大多数人都没有抓住重点。问题不在于“如何”编写供应商、消费者和函数。它是“为什么”在世界上你想要的?对于不习惯它们的人来说,它们使代码变得更加复杂。但使用它们的好处尚不清楚。
-
据我所见(我也分享您对切线描述的挫败感),这只是从一段代码中使用的对象抽象对象类型和对象处理的一种巧妙方法。这允许通过简单地定义不同的新类并将它们注入到供应商和消费者接口中,将相同的代码应用于许多不同类型的对象。因此,在警察记录系统中,所有嫌疑人都使用相同的表面代码,但每个嫌疑人的最终打印输出取决于每个嫌疑人的分类,例如'citizen'、'petty'、'larcen'、'felon'、'hardened'等