【问题标题】:Can someone explain what a Function object is in Java? [duplicate]有人可以解释一下 Java 中的 Function 对象是什么吗? [复制]
【发布时间】:2012-01-24 03:31:29
【问题描述】:

可能重复:
Help with understanding a function object or functor in Java

我目前正在阅读 Mark Allen Weiss 的“数据结构和使用 Java 解决问题”一书,我对函子的解释不清楚。

1) 你为什么使用它们? 2) 他们具体是做什么的?

我从这本书中得到的唯一信息是,如果一个特定的对象没有 compareTo 方法,你可以使用一个函数对象给它一个 ha-ha.....帮帮我!!

【问题讨论】:

    标签: java function


    【解决方案1】:

    函子将函数封装为对象。您可以将它们传递给其他对象以完成任务。

    想想Gang of Four Command Pattern

    【讨论】:

      【解决方案2】:

      如果一个对象没有实现Comparable,你可以写一个Comparator的实现来达到同样的效果。 Comparator 实际上是 wikipedia arctile 中关于 functors in Java 的示例。如果对象不是Comparable,它仍然可以通过提供相关的Comparator 实现按Collections.sort(Collection, Comparator) 排序。

      接口Comparator 是函子的一个例子。它的实现可以传递给其他对象或方法用于做某事(在这种情况下比较两个对象)。

      【讨论】:

        猜你喜欢
        • 2016-05-10
        • 2018-12-17
        • 2023-01-11
        • 1970-01-01
        • 2011-09-29
        • 1970-01-01
        • 2017-10-03
        • 2016-12-28
        • 2014-04-08
        相关资源
        最近更新 更多