可能重复:
Help with understanding a function object or functor in Java有人可以解释一下Java中的Function对象吗?
我目前正在读的书“数据结构和问题使用Java解决”由马克·艾伦·韦斯和函子的解释是,我不清楚。
1)你为什么使用它们? 2)他们究竟做了什么?
我从这本书中唯一得到的是,如果一个特定的对象没有compareTo方法,你使用一个函数对象给它一个哈哈.....帮帮我!
可能重复:
Help with understanding a function object or functor in Java有人可以解释一下Java中的Function对象吗?
我目前正在读的书“数据结构和问题使用Java解决”由马克·艾伦·韦斯和函子的解释是,我不清楚。
1)你为什么使用它们? 2)他们究竟做了什么?
我从这本书中唯一得到的是,如果一个特定的对象没有compareTo方法,你使用一个函数对象给它一个哈哈.....帮帮我!
函子将函数封装为对象。您可以将它们传递给其他对象以完成任务。
如果一个对象不执行Comparable
,你可以写一个Comparator
的实现来达到同样的效果。实际上,Comparator
是维基百科关于functors in Java的示例。如果某个对象不是Comparable
,则仍然可以通过提供相关的Comparator
实施,将其排序为Collections.sort(Collection, Comparator)
。
接口Comparator
是一个仿函数的例子。它的实现可以传递给其他对象或方法来用来做某事(在这种情况下比较两个对象)。