可能重複:
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
是一個仿函數的例子。它的實現可以傳遞給其他對象或方法來用來做某事(在這種情況下比較兩個對象)。