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