2012-01-24 41 views
0

可能重复:
Help with understanding a function object or functor in Java有人可以解释一下Java中的Function对象吗?

我目前正在读的书“数据结构和问题使用Java解决”由马克·艾伦·韦斯和函子的解释是,我不清楚。

1)你为什么使用它们? 2)他们究竟做了什么?

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

回答

0

如果一个对象不执行Comparable,你可以写一个Comparator的实现来达到同样的效果。实际上,Comparator是维基百科关于functors in Java的示例。如果某个对象不是Comparable,则仍然可以通过提供相关的Comparator实施,将其排序为Collections.sort(Collection, Comparator)

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